2010-12-06 92 views
0

我正在为电信工作,我需要计算通话的通话时间。问题是我们有世界时间24小时(00:00:00 - 23:59:59),例如,现在通话开始在22:31:40,并在00:22:56 结束,现在我需要计算此通话的持续时间。我可以知道,以计算它计算通话时间

由于事先

回答

0

24小时添加到所述第二时间和从所述第一减去逻辑。如果结果大于24小时,则退出24。这显然不能处理超过24小时的通话,但我们会假设他们不是。

...或使用我不知道的一些DB2函数。

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)) 
) 
@ 
+0

+1表示不错的链接。 – 2010-12-07 13:51:26