Heim >Datenbank >MySQL-Tutorial >Wie konvertiere ich SQL Server 2008 DATETIMEOFFSET in DATETIME unter Beibehaltung des Offsets?

Wie konvertiere ich SQL Server 2008 DATETIMEOFFSET in DATETIME unter Beibehaltung des Offsets?

Susan Sarandon
Susan SarandonOriginal
2024-12-29 21:12:151077Durchsuche

How to Convert SQL Server 2008 DATETIMEOFFSET to DATETIME While Preserving the Offset?

Konvertieren von DATETIMEOFFSET in DateTime unter Beibehaltung des Offsets

In SQL Server 2008 führt die Konvertierung eines DATETIMEOFFSET-Felds in ein DATETIME-Feld normalerweise zum Verlust von Zeitinformation aufgrund des Offsets. Es gibt jedoch eine Möglichkeit, den Wert unter Beibehaltung des Offsets zu konvertieren und ihn effektiv in UTC umzuwandeln.

Der Schlüssel zu dieser Konvertierung liegt in der Verwendung der CONVERT-Funktion mit dem richtigen Stilargument. Das Argument style gibt an, wie die Konvertierung durchgeführt werden soll. Für diesen speziellen Zweck müssen wir Stil 1 verwenden:

SELECT CONVERT(datetime2, @createdon, 1)

Die obige Abfrage nimmt eine DATETIMEOFFSET-Variable (@createdon) und wandelt sie mithilfe von Stil 1 in einen DATETIME2-Wert um. Dieser Stil konvertiert den DATETIMEOFFSET-Wert in einen DATETIME2-Wert in UTC durch Subtrahieren des Offsets.

Betrachten Sie beispielsweise den folgenden DATETIMEOFFSET Wert:

2008-12-19 17:30:09.0000000 +11:00

Wenn wir diesen Wert mit Stil 1 konvertieren, erhalten wir:

2008-12-19 06:30:09.0000000

Dieses Ergebnis ist in UTC-Zeit angegeben, wodurch der Offset effektiv entfernt wird.

Beachten Sie, dass bei der Konvertierung von DATETIME2 in DATETIMEOFFSET mit Stil 1 der Offset einfach auf 00:00 gesetzt wird. Dies kann als schnelle Methode verwendet werden, um einen DATETIMEOFFSET-Wert mit einem Offset ungleich Null in einen DATETIMEOFFSET-Wert in UTC zu konvertieren:

SELECT convert(datetimeoffset,CONVERT(datetime2, @createdon, 1))

Das obige ist der detaillierte Inhalt vonWie konvertiere ich SQL Server 2008 DATETIMEOFFSET in DATETIME unter Beibehaltung des Offsets?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn