0

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

时间 892.26(以小时为单位)

要求

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

请建议可以做什么。

4

1 回答 1

2

也许您应该重新考虑数据模型。如果将时间存储为数字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 ...

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

于 2013-09-02T07:02:00.173 回答