我在电信工作,我需要计算通话的通话时长。问题是我们有世界时间 24 小时(00:00:00 - 23:59:59)例如,现在通话从 22:31:40 开始并在 00:22:56 结束,现在我需要计算此通话的持续时间。我能知道计算它的逻辑吗
提前致谢
我在电信工作,我需要计算通话的通话时长。问题是我们有世界时间 24 小时(00:00:00 - 23:59:59)例如,现在通话从 22:31:40 开始并在 00:22:56 结束,现在我需要计算此通话的持续时间。我能知道计算它的逻辑吗
提前致谢
没有 DB2 内置函数可以做到这一点。但是,DB2 DATE 文档包含一个用户定义函数的源代码,该函数使用 DAYS() 和 MIDNIGHT_SECONDS() 来实现所需的结果。
CREATE FUNCTION secondsdiff(t1 TIMESTAMP, t2 TIMESTAMP)
RETURNS INT
RETURN (
(DAYS(t1) - DAYS(t2)) * 86400 +
(MIDNIGHT_SECONDS(t1) - MIDNIGHT_SECONDS(t2))
)
@
第二次加 24 小时,第一次减去。如果结果大于 24 小时,则将 24 取出。这显然不能处理超过 24 小时的呼叫,但我们假设它们不是。
...或者使用一些我不知道的 DB2 函数。