Jia*_*ong 0 sql oracle time datediff
鉴于:
INSERT INTO EP_ACCESS (START_TIMESTAMP, DISCONNECT_TIMESTAMP)
VALUES (TO_DATE('2020-01-01 00:00:01','yyyy/mm/dd hh24:mi:ss'), TO_DATE('2020-01-01 00:01:00','yyyy/mm/dd hh24:mi:ss'));
Run Code Online (Sandbox Code Playgroud)
和:
SELECT SUM(E.Start_timestamp-E.Disconnect_timestamp) AS WATCHING_TIME
FROM EP_ACCESS
Run Code Online (Sandbox Code Playgroud)
如何将所选内容转换为小时、分钟和秒?
Oracle 中两个日期的差是一个(可能是小数)数字,以天为单位。如果您需要将其转换为小时、分钟和秒,结果的最佳数据类型是间隔天到秒,您可以通过将您的数字(您的总和,在您的查询中)乘以interval '1' day. 结果将以天、小时、分钟和秒为单位。
顺便说一句,您确定您正在以正确的方式减去吗?在我看来,您应该从断开连接时间戳中减去开始时间戳 - 但您比我更了解您的问题。
这是一个使用您的“时间戳”(实际上是 Oracle 中的日期)的插图,但差异以正确的方式进行。
select sum(disconnect_timestamp - start_timestamp) * interval '1' day as diff
from ep_access
;
DIFF
-------------------
+00 00:00:59.000000
Run Code Online (Sandbox Code Playgroud)
结果显示 00 天、00 小时、00 分钟、59.000000 秒。
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |