我正在为电信工作,我需要计算一个电话的通话时间。问题是我们有世界时间24小时(00:00:00 - 23:59:59),例如,现在呼叫从22开始: 31:40结束于00:22:56 现在我需要计算这次通话的持续时间。我能知道计算它的逻辑
提前致谢
答案 0 :(得分:3)
没有DB2内置函数来执行此操作。但是,DB2 DATE documentation包括用户定义函数的源,该函数使用DAYS()和MIDNIGHT_SECONDS()来实现所需的结果。
CREATE FUNCTION secondsdiff(t1 TIMESTAMP, t2 TIMESTAMP)
RETURNS INT
RETURN (
(DAYS(t1) - DAYS(t2)) * 86400 +
(MIDNIGHT_SECONDS(t1) - MIDNIGHT_SECONDS(t2))
)
@
答案 1 :(得分:0)
第二次添加24小时并从第一次减去。如果结果超过24小时,请退回24。这显然不能处理超过24小时的通话,但我们认为它们不是。
...或者使用我不知道的一些DB2函数。