Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie erhalte ich die Gesamtzahl der Stunden zwischen zwei Daten in SQL Server?

@codeka hat mit dem Stundenteil (aus Ihrem Titel) geantwortet, aber im Hauptteil Ihrer Frage haben Sie nach Stunden und Minuten gefragt, also hier ist eine Möglichkeit

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

Was dies im ersten Teil bewirkt, ist das, was @codeka gezeigt hat. Es gibt Ihnen den datediff zwischen den beiden Daten in tatsächlichen vollen Stunden. Der zweite Begriff in der SQL gibt den datediff in Minuten zwischen dem (ersten Datum + die verstrichenen Stunden) und dem zweiten Datum an. Sie müssen die Stunden aus der Gleichung im Minutenteil eliminieren oder Sie erhalten die tatsächlichen Minuten zwischen den Daten. Datediff und seine zulässigen Datepart-Bezeichner können hier recherchiert werden:
http://msdn.microsoft.com/en-us/library/ms189794.aspx