有没有任何oracle sql函数可以帮助将时间显示为24小时32分钟30秒



是否有任何oracle sql函数可以帮助显示时间,因为目前我正在汇总一列的时间并以小时为单位计算。

时间892.26(小时)

需求

时间(同列)892小时26分钟

请建议可以做些什么。

也许您应该重新考虑数据模型。如果像893.26一样将时间存储为数字,并将其视为892 hours and 26 minutes,则每次计算都会很复杂。

您最好只将值存储为分钟,如53,546(分钟),它来自简单的计算893 x 60 + 26。然后,您可以简单地通过+-在值之间进行加法或减法运算,并可以通过简单的计算将其表示为小时和分钟:

hours = trunc(value / 60)
minutes = mod(value, 60)

这可以在您的SQL:中完成

select trunc(value / 60) || ' hrs ' || mod(value, 60) || 'min'
from ...

如果您的最小刻度是秒,则应将每个值存储在秒中。这可以使事情比你现在使用的方式简单得多。

最新更新