如何在SQL中将分钟转换为小时和秒?

时间:2013-10-03 14:45:48

标签: sql date datetime oracle11g

目前我正在使用此查询,这会在几分钟内为我提供持续时间。

我的部分查询

Select 
   E.xyme

From
    (SELECT Timee as xyme from  
            (select round(avg(tableT.DURATIONMIN),2) as Timee
                FROM ownerName.tableT tableT
                   where tableT.FLAG = 0 )
    )E

输出

Xyme
----
125.58

输出寻找

Xyme
----
2 hours, 5 minutes, 35 seconds

部分解决方案 我知道我们可以使用类似下面的内容,但我无法实现。

 floor((sysdate-Timee)*24)
  || ' HOURS ' ||
  mod(floor((sysdate-Timee)*24*60),60)
  || ' MINUTES ' ||
  mod(floor((sysdate-Timee)*24*60*60),60)
  || ' SECS ' Duration

1 个答案:

答案 0 :(得分:7)

您可以使用numtodsinterval() function将分钟的数值转换为间隔类型,然后使用extract()中的元素转换为

select extract (hour from numtodsinterval(timee, 'MINUTE')) || ' hours, '
  || extract (minute from numtodsinterval(timee, 'MINUTE')) || ' minutes, '
  || extract (second from numtodsinterval(timee, 'MINUTE')) || ' seconds' as xyme
from (select 125.58 as timee from dual);

XYME                                   
----------------------------------------
2 hours, 5 minutes, 34.8 seconds         

您可以根据需要roundtrunc秒值;看起来你想要样品中的round