Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como obter o número total de horas entre duas datas no sql server?


@codeka respondeu com a parte das horas (do seu título), mas no corpo da sua pergunta você pediu horas e minutos, então aqui está uma maneira
 select DATEDIFF(hh, @date1, @date2) as Hours_Difference,   
    DATEDIFF(mi,DATEADD(hh,DATEDIFF(hh, @date1, @date2),@date1),@date2) as Minutes_Difference

O que isso faz na primeira parte é o que @codeka mostrou. Dá-lhe o dateiff entre as duas datas em horas reais. O segundo termo no sql fornece a data em minutos entre a (primeira data + as horas decorridas) e a segunda data. Você precisa eliminar as horas da equação na parte dos minutos ou obterá os minutos reais entre as datas. Datediff e seus identificadores Datepart permitidos podem ser pesquisados ​​aqui:
http://msdn.microsoft.com/en-us/library/ms189794.aspx