Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come ottenere il numero totale di ore tra due date nel server sql?

@codeka ha risposto con la parte delle ore (dal titolo) ma nel corpo della tua domanda hai chiesto ore e minuti, quindi ecco un modo

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

Quello che fa nella prima parte è quello che ha mostrato @codeka. Ti dà la differenza di data tra le due date in ore intere effettive. Il secondo termine in sql fornisce il datediff in minuti tra la (prima data + le ore trascorse) e la seconda data. Devi eliminare le ore dall'equazione nella parte dei minuti o otterrai i minuti effettivi tra le date. Datediff e gli identificatori Datepart consentiti possono essere ricercati qui:
http://msdn.microsoft.com/en-us/library/ms189794.aspx