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

Hvordan får man det samlede antal timer mellem to datoer i sql server?

@codeka svarede med timer-delen (fra din titel), men i brødteksten af ​​dit spørgsmål spurgte du i timer og minutter, så her er en måde

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

Hvad dette gør i den første del er, hvad @codeka viste. Det giver dig datedifferet mellem de to datoer i faktiske hele timer. Det andet led i sql'en giver datediff'en i minutter mellem (første dato + de forløbne timer) og den anden dato. Du skal fjerne timerne fra ligningen i minutterdelen, ellers får du de faktiske minutter mellem datoerne. Datediff og dets tilladte Datepart-id'er kan undersøges her:
http://msdn.microsoft.com/en-us/library/ms189794.aspx



  1. ML{.NET} Introduktion

  2. Udbedring af huller/huller i tal genereret af Postgres-sekvensen

  3. SQL Server Høj tilgængelighed:Tilføj ny disk til en eksisterende failover-klyngeforekomst

  4. Hvordan logger man dataændringer i postgresql?