天数:
SQL> select trunc(to_date('2003-10-01','yyyy-mm-dd')-sysdate) from dual;TRUNC(TO_DATE('2003-10-01','YY
------------------------------
                            35小时:
SQL> select trunc((to_date('2003-10-01','yyyy-mm-dd')-sysdate)*24) from dual;TRUNC((TO_DATE('2003-10-01','Y
------------------------------
                           850

解决方案 »

  1.   

    天数:
    SQL> select trunc(to_date('2003-10-01','yyyy-mm-dd')-sysdate) from dual;TRUNC(TO_DATE('2003-10-01','YY
    ------------------------------
                                35小时:
    SQL> select trunc((to_date('2003-10-01','yyyy-mm-dd')-sysdate)*24) from dual;TRUNC((TO_DATE('2003-10-01','Y
    ------------------------------
                               850
      

  2.   

    create or replace getMidDay(date d1,date d2) 
    as 
       I    NUMBER;
    begin
       select trunc(d1-d2) into i from dual;
       dbms_output.put_line(i);
       select trunc(d1-d2)*24 into i from dual;
       dbms_output.put_line(i);
    end ;
      

  3.   

    谢楼上两位。
    但我想求两个datetime类型的小时差呢??
    比如:2003-08-20 15:40:32和sysdate的小时差。