直接用两个日期相减(比如d1-d2=12.3)
  SELECT (d1-d2)*24*60*60 vaule FROM DUAL;

解决方案 »

  1.   

    months_between()返回相差月数
    select months_between(sysdate,date '2005-05-08') from dual1直接相减返回天数
    select sysdate-date '2005-05-08' from dual31.6571643518518518518518518518518518518
      

  2.   

    年:
    select to_char(date1,'yyyy')-to_char(date2,'yyyy') from dual;
    月:
    用months_between()函数
    其它:
    直接相减,得到天 通过换算得到 时,分,秒
      

  3.   

    SQL> select to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss') from dual;TO_CHAR(SYSDATE,'YY
    -------------------
    2005-06-08 16:53:37SQL> select (SYSDATE-to_date('2005-6-8 16:50:00','yyyy-mm-dd hh24:mi:ss'))*24*60*60 from dual;(SYSDATE-TO_DATE('2005-6-816:50:00','YYYY-MM-DDHH24:MI:SS'))*24*60*60
    ---------------------------------------------------------------------
                                                                      217