【发布时间】:2020-03-11 02:25:23
【问题描述】:
我正在尝试从 Oracle 数据库中减去两个时间戳的输出中提取天、小时、分钟、秒。然后我想提取提取的值并将它们放入单独的列中。我可以使用 substr 完成此操作,但这似乎效率不高。是否有更有效和程序化的方式来提取值?下面是一个带有当前和所需输出的示例查询。
示例:
SELECT
to_timestamp('2019-11-10 15:00:00', 'YYYY-MM-DD hh24:mi:ss') -
to_timestamp('2019-10-25 13:25:00', 'YYYY-MM-DD hh24:mi:ss')
as TIME_DIFF,
SUBSTR(to_timestamp('2019-11-10 15:00:00', 'YYYY-MM-DD hh24:mi:ss') -
to_timestamp('2019-10-25 13:25:00', 'YYYY-MM-DD hh24:mi:ss'), 9, 2)
as DAYS
from dual
电流输出:
TIME_DIFF | DAYS
------------------------------+-----
+000000016 01:35:00.000000000 | 16
所需的输出:
DAYS | HOUR | MIN | SS
-----+------+-----+---+
16 | 01 | 35 | 00
【问题讨论】:
标签: sql oracle date datetime datediff