计算小时,分,秒,毫秒      
select      
Days,      
A,      
TRUNC(A*24)  Hours,      
TRUNC(A*24*60  -  60*TRUNC(A*24))  Minutes,      
TRUNC(A*24*60*60  -  60*TRUNC(A*24*60))  Seconds,      
TRUNC(A*24*60*60*100  -  100*TRUNC(A*24*60*60))  mSeconds      
from      
(      
select      
trunc(sysdate)  Days,      
sysdate  -  trunc(sysdate)  A      
from  dual      
)

解决方案 »

  1.   

    SQL> select
      2  trunc(sysdate)  Days,     enddate  ,
      3  (sysdate  -  trunc(enddate))*60*24  A
      4  from  c_well
      5  ;DAYS        ENDDATE              A
    ----------- ----------- ----------
    2004-12-22  2002-8-4    1254933.75
    2004-12-22  2003-11-21   572373.75
    2004-12-22  2003-11-28   562293.75
    2004-12-22  2004-3-20    399573.75
    2004-12-22  2004-5-25    304533.75
    2004-12-22  2004-7-6     244053.75
    2004-12-22  2004-8-4     202293.75
    2004-12-22  2004-9-2     160533.75
    2004-12-22  2001-9-4    1735893.75
    2004-12-22  2004-10-18    94293.75
    2004-12-22  2004-7-9 13  239733.75
    SQL>
      

  2.   

    (date1-date2)*24*60日期相减得到的是天数. *24*60得到分钟
      

  3.   

    select ( to_date('2004/12/20 09:20:20', 'YYYY/MM/DD HH24:MI:SS') 
               - to_date('2004/12/20 08:20:20', 'YYYY/MM/DD HH24:MI:SS')  
           ) *24*60
    from dualoracle里面日期计算的基础是天数,所以