我想问一下
在ORACLE里有没有可以计算2个时间的间隔秒数的函数。比如我想知道‘20100930080001’和‘20101102091212’之间间隔的秒数,有没有这样的函数可以直接取到?

解决方案 »

  1.   

    两个date类型数据直接想减得到的是以天为单位的数据.要得到秒数,再*24*60*60就可以了
      

  2.   


    SELECT Abs((To_Date('20100930080001','yyyymmdd hh24miss')-To_Date('20101102091212','yyyymmdd hh24miss'))*24*60*60) TIMES FROM dual;TIMES
    -------------
    2855531
      

  3.   

    SQL> edi
    已写入 file afiedt.buf  1  select abs(to_date('20100930080001','yyyy-mm-dd hh24:mi:ss')-
      2* to_date('20101102091212','yyyy-mm-dd hh24:mi:ss'))*24*60*60 from dual
    SQL> /ABS(TO_DATE('20100930080001','YYYY-MM-DDHH24:MI:SS')-TO_DATE('20101102091212','Y
    --------------------------------------------------------------------------------
                                                                             2855531
      

  4.   


    请问Abs()这个方法是做什么的呢?
      

  5.   


    SQL> ed
    已写入 file afiedt.buf  1  select sysdate-to_date('20101031','yyyymmdd') 相差天数,
      2  (sysdate-to_date('20101031','yyyymmdd'))*24 相差小时,
      3  (sysdate-to_date('20101031','yyyymmdd'))*24*60 相差分钟,
      4  (sysdate-to_date('20101031','yyyymmdd'))*24*60*60 相差秒数
      5* from dual
    SQL> /  相差天数   相差小时   相差分钟   相差秒数
    ---------- ---------- ---------- ----------
    1.84634259 44.3122222 2658.73333     159524
      

  6.   

    就这样啊。。可以用months_between