Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie kann ich ein Sql Server 2008 DateTimeOffset in ein DateTime konvertieren

Die Konvertierung mit fast jedem Stil führt dazu, dass der datetime2-Wert in UTC konvertiert wird.
Außerdem setzt die Konvertierung von datetime2 in datetimeoffset einfach den Offset auf +00:00 , so dass es eine schnelle Möglichkeit ist, von Datetimeoffset(offset!=0) zu konvertieren zu Datetimeoffset(+00:00)

declare @createdon datetimeoffset
set @createdon = '2008-12-19 17:30:09.1234567 +11:00'

select CONVERT(datetime2, @createdon, 1)
--Output: 2008-12-19 06:30:09.12

select convert(datetimeoffset,CONVERT(datetime2, @createdon, 1))
--Output: 2008-12-19 06:30:09.1234567 +00:00