oracle的report_call_hist表:列名datetime(存储时间) ,为varchar2类型,如何比较大小?select * from report_call_hist rch where rch.datetime>=('2009-06-24') and rch.datetime<=('2009-06-25')
这样写查不出数据 ,改怎么写?

解决方案 »

  1.   

    select * from report_call_hist rch where rch.datetime>=to_date('2009-06-24','yyyy-mm-dd') and rch.datetime <=to_date('2009-06-25','yyyy-mm-dd') 
      

  2.   

    select * from report_call_hist rch 
    where to_date(rch.datetime,'yyyy-mm-dd') <=to_date('2009-06-24','yyyy-mm-dd') 
    and to_date(rch.datetime,'yyyy-mm-dd') <=to_date('2009-06-25','yyyy-mm-dd') 
      

  3.   

    select * from report_call_hist rch 
    where to_date(rch.datetime,'yyyy-mm-dd') >=to_date('2009-06-24','yyyy-mm-dd') 
    and to_date(rch.datetime,'yyyy-mm-dd') <=to_date('2009-06-25','yyyy-mm-dd') 
      

  4.   

    我试了,楼上的会报错,这个字段是varchar2类型,存储的是时间
      

  5.   


    报错:ORA-01830  日期格式图片在转换整个输入字符串之前结束
      

  6.   

    你存储的时间格式是什么样的啊,(yyyy/mm/dd hh24:mi:ss OR  yyyymmddhh24mi  or yyyy/m/d 或者其他)
    1位月份有0吗?
      

  7.   

    select * from report_call_hist rch  where  to_date(rch.datetime,'yyyy-mm-dd hh24:mi:ss') >=to_date('2009-06-24 00:00:00','yyyy-mm-dd hh24:mi:ss') 
    and to_date(rch.datetime,'yyyy-mm-dd hh24:mi:ss') <=to_date('2009-06-25 00:00:00','yyyy-mm-dd hh24:mi:ss')这样可以
      

  8.   


    列名叫datetime数据类型为 varchar2
      

  9.   


    用to_date转一下select * from report_call_hist rch where to_date(rch.datetime, 'yyyy-mm-dd')>=to_date('2009-06-24', 'yyyy-mm-dd') and to_date(rch.datetime, 'yyyy-mm-dd') <=to_date('2009-06-25', 'yyyy-mm-dd') 
      

  10.   

    存储的字符型的,非date
    直接比![code]select * from report_call_hist rch where rch.datetime>='2009-06-24' and  rch.datetime <='2009-06-25'[code]
    不知道LZ为何要加()