sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo puedo convertir un DateTimeOffset de Sql Server 2008 en un DateTime?

La conversión usando casi cualquier estilo hará que el valor datetime2 se convierta a UTC.
Además, la conversión de datetime2 a datetimeoffset simplemente establece el desplazamiento en +00:00 , según se indica a continuación, por lo que es una forma rápida de convertir desde Datetimeoffset(offset!=0) a 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