比如:2012/1/10 4:00:00怎么得到2012/1/10?
还有判断2个日期格式相等,是用=好吗?
如果判断1个日期范围在另一个范围内,是用<好吗?比如:
TO_DATE('2012/1/10','yyyy/mm/dd')<Table.time<TO_DATE('2012/12/10','yyyy/mm/dd')

解决方案 »

  1.   

    select to_char(to_date('2012/1/10 4:00:00', 'yyyy/mm/dd hh24:mi:ss'), 'yyyy/mm/dd') tar_date
    from dual;结果:
    --2012/01/10等于用=,  小于小<,可以,只要两边格式一样就行
      

  2.   

    Select trunc(时间字段名) from tb --这个不准确
    select to_char(时间字段名,'yyyy/mm/dd') from tb --这个准确select * from tb where trunc(时间字段名) between '2012/01/10' and '2012/12/10' --这个不准确
    select * from tb where to_char(时间字段名,'yyyy/mm/dd') between '2012/01/10' and '2012/12/10' --这个准确
      

  3.   

    我这个2012/1/10 4:00:00,已经是日期格式了。另外一个是字符型的,我想用to_date('20120311','yyyy/mm/dd'),转成日期型的和前面的值比较,行吗?
      

  4.   


      是一个类型 可以比较  不行类型需要转换下 判断日期范围:Table.time between date'2012-01-10' and date'2012-12-10'
      

  5.   

    select trunc(to_date('2012/1/10 4:00:00', 'yyyy/mm/dd hh24:mi:ss')) from dual;
    select * From dual where trunc(to_date('2012/1/10 4:00:00', 'yyyy/mm/dd hh24:mi:ss')) between TO_DATE('2012/1/10','yyyy/mm/dd') and TO_DATE('2012/12/10','yyyy/mm/dd');