sql >> Database >  >> RDS >> Sqlserver

Ik wil Uren, Min, tweede verschil van twee datetime

Je kunt het op een heel eenvoudige manier doen:

declare  @date1 datetime, @date2 datetime
set @date1=DATEADD(s,-638,getdate())
set @date2=GETDATE()

select convert(char(8),dateadd(s,datediff(s,@date1,@date2),'1900-1-1'),8)

... het resultaat is 00:10:38 (638s =600s + 38s =10 minuten en 38 seconden)

Nog een voorbeeld:

select distinct convert(char(8),dateadd(s,datediff(s, CRDATE , GETDATE() ),'1900-1-1'),8) from sysobjects order by 1

Het werkt tot het verschil van 86399 seconden (23:59:59):

select convert(char(8),dateadd(s,datediff(s
    , DATEADD(s,-86399,GETDATE())
    , GETDATE()
),'1900-1-1'),8)

... daarna keert het terug naar nul:

select convert(char(8),dateadd(s,datediff(s
    , DATEADD(s,-86400,GETDATE())
    , GETDATE()
),'1900-1-1'),8)


  1. Kan ingevoegde gegevens van MySQL niet onmiddellijk zien

  2. MySQL - Maak een bestaand veld uniek

  3. dBase-ondersteuning is terug in Microsoft Access!

  4. Geautomatiseerd testen van PostgreSQL-back-ups