我正在为电信工作,我需要计算通话的通话时间。问题是我们有世界时间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 结束,现在我需要计算此通话的持续时间。我可以知道,以计算它计算通话时间
由于事先
24小时添加到所述第二时间和从所述第一减去逻辑。如果结果大于24小时,则退出24。这显然不能处理超过24小时的通话,但我们会假设他们不是。
...或使用我不知道的一些DB2函数。
没有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表示不错的链接。 – 2010-12-07 13:51:26