Sql 如何以时间HH:MM返回查询结果?

Sql 如何以时间HH:MM返回查询结果?,sql,oracle,Sql,Oracle,嘿,伙计们,这是一个我现在想不透的简单问题- 这是以小数形式返回的总小时数,所以10:30小时数是10.50。我该如何改变这一点?谢谢 也许像这样: SELECT SUM(HOURS_WORKED) * 24 as TOTAL_HOURS FROM( SELECT AL.END_TIME - AL.START_TIME as HOURS_WORKED from FCXP.APPLIED_LABOR AL where AL.TASK_CARD_EXECUTION_ID = '8ab4f88844

嘿,伙计们,这是一个我现在想不透的简单问题- 这是以小数形式返回的总小时数,所以10:30小时数是10.50。我该如何改变这一点?谢谢

也许像这样:

SELECT SUM(HOURS_WORKED) * 24 as TOTAL_HOURS
FROM(
SELECT  AL.END_TIME - AL.START_TIME as HOURS_WORKED
from FCXP.APPLIED_LABOR AL
where AL.TASK_CARD_EXECUTION_ID = '8ab4f8884428a1540144c998588a7b2c');

查看以下查询:

SELECT EXTRACT(HOUR FROM NUMTODSINTERVAL(SUM(HOURS_WORKED), 'HOUR'))||':'
   ||EXTRACT(MINUTE FROM NUMTODSINTERVAL(SUM(HOURS_WORKED), 'HOUR')) AS TOTAL_HOURS
FROM (...
结果如下:

小时值 2小时:45分钟:00秒

您还可以使用下面的查询,该查询也将返回相同的结果:

SELECT TRUNC(2.75) || 'hrs:' ||
   SUBSTR(numtodsinterval(2.75, 'HOUR'), 15,2) || 'mins:' ||
   SUBSTR(numtodsinterval(2.75, 'HOUR'), 18,2) || 'secs' hoursvalue FROM dual

以前一定有人问过……?我认为SUBSTR不是一个明智的选择,因为一天的位数可能会有所不同。EXTRACT当然是更好的解决方案。多亏了numtodsinterval函数,它才起作用!
SELECT TRUNC(2.75) || 'hrs:' ||
   extract (minute from numtodsinterval(2.75, 'HOUR' )) || 'mins:' ||
   extract (second from numtodsinterval(2.75, 'HOUR')) || 'secs'  hoursval
FROM dual