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

SQL konvertere datetime og trække timer fra

declare @createTime datetime = '2012-10-06 02:29:37.243';

-- original value, default formatting
select @createTime;

-- formatted
select convert(varchar, @createTime, 100);

-- subtract 4 hours, formatted
select convert(varchar, dateadd(hour, -4, @createTime), 100);

Forespørgslen ovenfor, der bruger dateadd vil altid trække 4 timer fra. Hvis dit mål er at konvertere et vilkårligt datotidspunkt fra UTC til lokal tid, så er det mere kompliceret, fordi den offset, du skal tilføje/fratrække, afhænger af det oprindelige datoklokkeslæt. En enkelt værdi som -4 vil ikke altid fungere. Her er nogle ideer til at håndtere den generelle sag:

Konverterer effektivt datoer mellem UTC og lokal (dvs. PST) tid i SQL 2005



  1. SQL Cross Join

  2. Test af Android SQLite-databaseenhed

  3. Forkert nøglefil med MySQL

  4. MySQL bedste N-resultater med Join-tabeller