2010-12-06 383 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