Question Comment obtenir le nombre total d'heures entre deux dates sur le 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 sur le serveur SQL .....


15
2018-03-19 05:36


origine


Réponses:


@codeka a répondu avec la partie heures (à partir de votre titre) mais dans le corps de votre question, vous avez demandé des heures et des minutes.

 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 le datiff entre les deux dates en heures pleines réelles. Le deuxième terme dans le SQL donne le datiff en minutes entre la (première date + les heures écoulées) et la deuxième 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 identifiants Datepart autorisés peuvent être recherchés ici:
http://msdn.microsoft.com/en-us/library/ms189794.aspx


16
2018-03-19 05:59



Vous voulez le DATEDIFF fonction:

SELECT DATEDIFF(hh, @date1, @date2)

4
2018-03-19 05:40



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

vous pouvez vérifier cela comme:

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

Il vous donnera le résultat de 24 heures

Merci


0
2017-07-16 11:40