我用的是oracle 10g,数据库中时间的格式是DATE。我存入的形式是yyyy-mm-dd hh:mm:ss,存入后在数据库中的形式是03-九月 -2007 03:12:00 PM。我想查询前后时间差精确到分钟(最好是秒)的信息。假设表明是table,时间字段是dt。DT1="2007-09-08 15:22:00" DT2="2007-09-08 16:00:00"。我查了很多信息,但都说文件格式不匹配。唯一没有问题的是:
rsSDB.Open "select * from table where to_char(dt,'dd mon yyyy HH24:MI:SS')>='" & DT1 & "'and to_char(dt,'dd mon yyyy HH24:MI:SS')<='" & DT2 & "'", cnSDB, , , adCmdText但集合里却什么都没有,请各位大虾帮忙。

解决方案 »

  1.   

    vb的怎么弄到delphi版来了,oracle的时间格式有点特殊这样应该就没有问题了
    rsSDB.Open "select * from table where to_char(dt, 'yyyy-mm-dd HH24:MI:SS ') >= '" & Format(DT1, "yyyy-mm-dd")+ " 00:00:00"  & " 'and to_char(dt, 'yyyy-mm-dd HH24:MI:SS ') <= '" & Format(dt2, "yyyymmdd") + " 23:59:59") & " '", cnSDB, , , adCmdText
      

  2.   

    用dt between to_date(:d1, 'yyyy-mm-dd HH24:MI:SS') and to_date(:d2, 'yyyy-mm-dd HH24:MI:SS') 处理