两个日期型的变量做差就可以了,data1-data2 ,结果>0 则 data1 大。日期型的变量在计算机中本来就就是用数字存储的,这样做就可以了。顺便说一下,得出的结果的单位是天,就是说如果结果为0.5,就相当于半天,12小时

解决方案 »

  1.   

    谢谢楼上的大哥,
     declare
     rq1 date;
     rq2 date;
     begin
     rq1:='25/9月/2004 10:10:10';
     rq2:=to_date('25/9月/2004  12:12:12');
     dbms_output.put_line(rq1-rq2);
     end;
    为什么不给附时间值呢?
    我想精确到小时不可以吗?
      

  2.   

    可以呀,前面说了,两个data型的变量做差得出的单位是天,你再X24不就是小时了吗?
      

  3.   

    where  date1 > date2 当然date1,date2均为日期型
      

  4.   

    没有问题的,相减然后就是以天为单位的,不过这个属非常精确的。
    SQL> select sysdate-to_date('20040911 11:11:11','yyyymmdd hh24:mi:ss') from dual;SYSDATE-TO_DATE('2004091111:11:11','YYYYMMDDHH24:MI:SS')
    --------------------------------------------------------
                                                  15.6005093可以看到得到的值是非常精确的