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

SQL Server - beregner forløbet tid mellem to datetime stempler i TT:MM:SS format

OPDATERET:

Beregn et tidsrum korrekt i SQL Server, selvom det er mere end 24 timer :

-- Setup test data
declare @minDate datetime = '2012-12-12 20:16:47.160'
declare @maxDate datetime = '2012-12-13 15:10:12.050'

-- Get timespan in hh:mi:ss
select cast(
        (cast(cast(@maxDate as float) - cast(@minDate as float) as int) * 24) /* hours over 24 */
        + datepart(hh, @maxDate - @minDate) /* hours */
        as varchar(10))
    + ':' + right('0' + cast(datepart(mi, @maxDate - @minDate) as varchar(2)), 2) /* minutes */
    + ':' + right('0' + cast(datepart(ss, @maxDate - @minDate) as varchar(2)), 2) /* seconds */

-- Returns 18:53:24

Kantsager, der viser unøjagtighed, er især velkomne!



  1. Konverter sekunder til dage, timer, minutter, sekunder (MySQL)

  2. Effektiv måde at opdatere alle rækker i en tabel

  3. Hvordan opretter man forbindelse til MySQL på Amazon EC2 fra Linux / Mac?

  4. Forsøger at indtaste data i SQL-tabel ved hjælp af PHP / Html fra registreringsformularen