Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

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

@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 une façon

 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 différence de date entre les deux dates en heures pleines réelles. Le deuxième terme dans le sql donne la différence de date 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