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);
Die obige Abfrage, die dateadd
verwendet werden immer 4 Stunden abgezogen. Wenn Sie eine beliebige Datumszeit von UTC in die Ortszeit umwandeln möchten, ist dies komplizierter, da der Offset, den Sie addieren/subtrahieren müssen, von der ursprünglichen Datumszeit abhängt. Ein einzelner Wert wie -4 wird nicht immer funktionieren. Hier sind einige Ideen für den Umgang mit dem allgemeinen Fall:
Effizientes Konvertieren von Datumsangaben zwischen UTC und lokaler (dh PST) Zeit in SQL 2005