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