2010-12-06 3 views
0

Je travaille pour les télécoms, j'ai besoin de calculer la durée d'appel d'un appel.le problème est que nous avons le monde 24 heures (00:00:00 - 23:59:59) par exemple, maintenant l'appel commence à 22:31:40 et se termine à 00:22:56 maintenant j'ai besoin de calculer la durée de cet appel. puis-je connaître la logique pour calculercalculer la durée de l'appel

Merci à l'avance

Répondre

0

Ajouter 24 heures à la deuxième fois et soustraire de la première. Si le résultat est supérieur à 24 heures, retirez le 24. Cela ne gère évidemment pas les appels qui sont sur 24 heures, mais nous supposerons qu'ils ne sont pas.

... ou utiliser une fonction DB2 que je ne connais pas.

3

Il n'existe aucune fonction intégrée DB2 pour cela. Toutefois, le DB2 DATE documentation inclut la source pour une fonction définie par l'utilisateur qui utilise DAYS() et MIDNIGHT_SECONDS() pour obtenir le résultat requis.

CREATE FUNCTION secondsdiff(t1 TIMESTAMP, t2 TIMESTAMP) 
RETURNS INT 
RETURN ( 
    (DAYS(t1) - DAYS(t2)) * 86400 + 
    (MIDNIGHT_SECONDS(t1) - MIDNIGHT_SECONDS(t2)) 
) 
@ 
+0

+1 pour le lien sympa. –

Questions connexes