Wie kann ich einen Sql Server 2008 DateTimeOffset in eine DateTime konvertieren?
Ich hoffe konvertieren Sie eine Tabelle, die eine DATETIMEOFFSET
Feld, bis auf ein DATETIME
Feld, ABER rechnet das mal durch Kenntnisnahme von der Einpresstiefe. Diese, in der Tat, konvertiert den Wert in UTC
.
zB.
CreatedOn: 2008-12-19 17:30:09.0000000 +11:00
bekommen, die umgewandelt
CreatedOn: 2008-12-19 06:30:09.0000000
oder
CreatedOn: 2008-12-19 06:30:09.0000000 + 00:00 -- that's a `DATETIMEOFFSET`, but `UTC`.
Prost 🙂
InformationsquelleAutor der Frage Pure.Krome | 2011-02-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konvertieren Sie mit fast jedem Stil verursachen den datetime2-Wert umgewandelt zu UTC.
Auch die Umwandlung von datetime2, datetimeoffset stellt einfach den offset auf
+00:00
pro unten, so ist es eine schnelle Möglichkeit zum umwandeln vonDatetimeoffset(offset!=0)
zuDatetimeoffset(+00:00)
InformationsquelleAutor der Antwort RichardTheKiwi
Ich würde mit dem eingebauten SQL-option:
InformationsquelleAutor der Antwort Vipeout
Ich weiß, das ist eine alte Frage, aber, wenn Sie konvertieren von DateTimeOffset in einen DateTime -, ich denke, Sie müssen zu berücksichtigen, die Zeitzone des Servers, die Sie konvertieren. Wenn Sie gerade ein CONVERT(datetime, @MyDate, 1) Sie werden einfach verlieren Sie die Zeitzone, die zu erwartenden Ergebnisse in eine falsche Bekehrung.
Denke ich, müssen Sie zuerst die Schalter der offset des DateTimeOffset-Wert, dann die Konvertierung zu tun.
Das Ergebnis der Umwandlung '2013-11-21 00:00:00.0000000 -00:00' um ein DateTime-auf einem server, der offset ist -7:00 Uhr werden 2013-11-20 17:00:00.000. Mit der oben genannten Logik nicht mater, was der Zeitzone des Servers oder der offset des DateTime-Wert konvertiert wird, die DateTime in der Server-Zeitzone.
Ich glaube, Sie müssen dies tun, weil ein DateTime-Wert beinhaltet die Annahme, dass der Wert wird in der Zeitzone des Servers.
InformationsquelleAutor der Antwort Jeremy
Hinweis: Die Zeitzonen-Informationen verworfen in der Umwandlung, wenn kein Stil ("126" hier) angegeben ist. Es könnte auch gestrichen werden, einige der anderen Stile, die ich nicht kannte-in jedem Fall die folgenden richtig stellt für die TZ-Informationen. Sehen CAST-und CONVERT.
Glücklich SQL ' Ing.
Bearbeiten
Nicht sicher, ob es zählt, aber ...
datetime
Kann eigentlich nicht speichern, Präzision/Genauigkeit. Wenn der oben ist, laufen die Sekundenbruchteile abgeschnitten wird zu 3 Ziffern (und die Genauigkeit ist geringer als das). Die sich gleich mitdatetime2
(unddatetimeoffset(7)
) erzeugt ein nicht-abgeschnittene Wert:InformationsquelleAutor der Antwort