select to_char(sysdate,'yyyy-m-d'),sysdate from dual;

解决方案 »

  1.   

    你这样的应该是字符型字段吧可以这样做
    field1:2007-8-14 
    field2:2007-8-14 12:35:09
    select to_date(field1,'yyyy-mm-dd')-round(to_date(field2,'yyyy-mm-dd hh24:mi:ss'),'Day') from yourtable
      

  2.   

    如果全是日期字段,也是可以比较的!select d1-d2 from (
    select to_date('2006-9-10 22:11:11','yyyy-mm-dd hh24:mi:ss') d1,to_date('2006-9-11','yyyy-mm-dd') d2 from dual)0<=d1-d2<1:表示相等,
    d1-d2<0 表示d2>d1d1-d2>=1 表示d1>d2
      

  3.   

    select trunc(sysdate) from dual 
      

  4.   

    不用转换也可以比较的, 这2007-8-14日期会被默认为 2007-8-14 00:00:00 
    to_date自动会把00:00:00的时间部分去掉,只显示如期部分,
    所以使用了to_date最后显示的还是:2007-8-14
      

  5.   

    我的问题是:如果 B表的Rq(日期)中记录内容 =  C表的Rq(日期) 就执行一条语句...B表的Rq 内容是:2007-8-14
    C表的Rq 内容是:2007-8-14 12:38:09 问题是怎么比较??
      

  6.   

    楼主确定一点:B表和C表的Rq字段都是日期类型的么,如果都是日期类型的话,不需要转换类型就可以进行大小比较不清楚楼主提出的问题在于哪里?
      

  7.   

    如果 2007-8-14 12:35:09 这个是字符串类型,那么可以通过
    select to_date('2007-8-14 12:35:09','yyyy-mm-dd hh24:mi:ss') from dual 转化成日期类型后进行比较如果 2007-8-14 这个是字符串类型,那么可以通过
    select to_date('2007-8-14','yyyy-mm-dd') from dual 转化成日期类型后进行比较
      

  8.   

    如果 B表的Rq(日期)中记录内容 = C表的Rq(日期) 就执行一条语句...B表的Rq 内容是:2007-8-14
    C表的Rq 内容是:2007-8-14 12:38:09 b 为字符型
    select * from b,c where b.rq=to_char(b.rq,'yyyy-mm-dd');b 为日期型select * from b,c where b.rq=round(to_date(c.rq,'yyyy-mm-dd hh24:mi:ss'),'Day')
      

  9.   

    select to_char(sysdate,'yyyy-m-d'),sysdate from dual;