日期:2014-05-17  浏览次数:20938 次

如何计算时间差为日时分秒形式
如题,想得到的结果是两个时间相差几天几小时几分几秒,如何用纯SQL实现??

------解决方案--------------------
select sysdate,
       trunc((sysdate - trunc(sysdate))*24),
       trunc(mod((sysdate - trunc(sysdate))*24*60,60)), 
       trunc(mod((sysdate - trunc(sysdate))*24*60*60,60)) from dual
------解决方案--------------------
引用:
引用:
借1楼SQL 。。拼接一下值不就OK了。。

SQL code?123  select   trunc((sysdate - trunc(sysdate))*24) 
------解决方案--------------------
 'hr'       trunc(mod((sysdate - trunc(sysdate))*24*60,60)) 
------解决方案--------------------
 'm'       trunc(mod((sysdate……



加decode判断为0的情况。。

 select  decode( trunc((sysdate - trunc(sysdate))*24), 0 , null, trunc((sysdate - trunc(sysdate))*24)  ) 
------解决方案--------------------
 'hr' 
------解决方案--------------------
  
    decode (trunc(mod((sysdate - trunc(sysdate))*24*60,60)) , 0 ,null , trunc(mod((sysdate - trunc(sysdate))*24*60,60))) 
------解决方案--------------------
 'm'   
------解决方案--------------------
  
 decode ( trunc(mod((sysdate - trunc(sysdate))*24*60*60,60)), 0 , null , trunc(mod((sysdate - trunc(sysdate))*24*60*60,60)) ) 
------解决方案--------------------
 's'  as t_date from dual