In SQL Server speichern DATETIMEOFFSET-Werte sowohl das Datum und die Uhrzeit als auch einen Offset von UTC. Um ein DATETIMEOFFSET-Feld unter Berücksichtigung des Offsets in ein DATETIME-Feld umzuwandeln und es effektiv in UTC umzuwandeln, beachten Sie Folgendes:
Durch die Konvertierung eines DATETIMEOFFSET-Werts in DATETIME2 mithilfe von CONVERT oder CAST wird der Wert durch Verwerfen automatisch in UTC konvertiert der Versatz. Beispiel:
DECLARE @createdon DATETIMEOFFSET = '2008-12-19 17:30:09.0000000 +11:00'; SELECT CONVERT(DATETIME2, @createdon, 1); -- Output: 2008-12-19 06:30:09.0000000
Bei der Konvertierung eines DATETIMEOFFSET in DATETIME wird der Offset jedoch nicht auf UTC gesetzt. Um explizit in DATETIME mit einem Offset von 00:00 zu konvertieren, verwenden Sie die Funktion DATETIMEOFFSET:
SELECT CONVERT(DATETIMEOFFSET, CONVERT(DATETIME2, @createdon, 1)); -- Output: 2008-12-19 06:30:09.0000000 +00:00
Das obige ist der detaillierte Inhalt vonWie konvertiere ich SQL Server DATETIMEOFFSET in UTC DATETIME?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!