web-dev-qa-db-fra.com

Comment obtenir le nombre total d'heures entre deux dates sur un serveur SQL?

Considérons deux dates 2010-03-18 22:30:45 et 2010-03-19 03:30:15 .... Comment obtenir le nombre d'heures et de minutes entre les deux dates dans le serveur SQL .....

16
Chendur Pandian

@codeka a répondu avec la partie heures (de votre titre) mais dans le corps de votre question, vous avez demandé des heures et des minutes, voici donc un moyen

 select DATEDIFF(hh, @date1, @date2) as Hours_Difference,   
    DATEDIFF(mi,DATEADD(hh,DATEDIFF(hh, @date1, @date2),@date1),@date2) as Minutes_Difference

Ce que cela fait dans la première partie est ce que @codeka a montré. Il vous donne la date datée entre les deux dates en heures complètes réelles. Le second terme du sql indique le délai en minutes entre le (première date et les heures écoulées) et la seconde date. Vous devez éliminer les heures de l'équation dans la partie minutes ou vous obtiendrez les minutes réelles entre les dates. Datediff et ses identificateurs Datepart autorisés peuvent être recherchés ici:
http://msdn.Microsoft.com/en-us/library/ms189794.aspx

16
William Salzman

Vous voulez que la fonction DE DATE :

SELECT DATEDIFF(hh, @date1, @date2)
4
Dean Harding

La fonction DATEDIFF résoudra votre problème d'obtention de la différence d'heures.

vous pouvez vérifier ceci comme:

select DATEDIFF(hh, getdate()-1, GETDATE()) HoursDifference

Cela vous donnera un résultat de 24 heures

Merci

0
Jasbeer Singh