Mow*_*gli 0 sql datetime date 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
Run Code Online (Sandbox Code Playgroud)
输出将是
Xyme
----
125.58
Run Code Online (Sandbox Code Playgroud)
输出寻找
Xyme
----
2 hours, 5 minutes, 35 seconds
Run Code Online (Sandbox Code Playgroud)
部分解决方案 我知道我们可以使用类似下面的内容,但我无法实现.
floor((sysdate-Timee)*24)
|| ' HOURS ' ||
mod(floor((sysdate-Timee)*24*60),60)
|| ' MINUTES ' ||
mod(floor((sysdate-Timee)*24*60*60),60)
|| ' SECS ' Duration
Run Code Online (Sandbox Code Playgroud)
您可以使用该numtodsinterval()函数将分钟的数值转换为间隔类型,然后使用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
Run Code Online (Sandbox Code Playgroud)
你可以round或trunc秒值为宜; 看起来像你想要round的样品.
| 归档时间: |
|
| 查看次数: |
3353 次 |
| 最近记录: |