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

Jeg vil have timer, min, anden forskel fra to datetime

Du kan gøre det på en meget enkel måde:

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)

... resultatet er 00:10:38 (638s =600s + 38s =10 minutter og 38 sekunder)

Et andet eksempel:

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

Det vil virke indtil forskellen på 86399 sekunder (23:59:59):

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

... derefter vender den tilbage til nul:

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


  1. Hvordan indsætter man billeder fra databasen?

  2. Bruger Fetch in react, skal du bruge brugernavn adgangskode for at få adgang til databasen

  3. Hvordan gemmer tekstfelt på flere sprog i mysql med php?

  4. MySQL Store Image BLOB Dårlig praksis ydeevne