2010-12-06 13 views
0

私は電気通信のために働いています、私は呼び出しの呼び出し時間を計算する必要があります。問題は、例えば、世界時間が24時間あります(00:00:00 - 23:59:59) 22:31:40に終了し、00:22:56に終了します 今、私はこの呼び出しの期間を計算する必要があります。私はそれを計算するためのロジックを知ることができ、事前通話時間を計算

答えて

0

おかげで二回目に24時間を追加し、最初から引きます。結果が24時間を超える場合は、24を取り戻します。これは明らかに24時間以上の通話を処理しませんが、我々は彼らarentと仮定します。

...私が気付いていないいくつかの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いいリンクです。 –