Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como posso converter um Sql Server 2008 DateTimeOffset em um DateTime


Converter usando quase qualquer estilo fará com que o valor datetime2 seja convertido em UTC.
Além disso, a conversão de datetime2 para datetimeoffset simplesmente define o deslocamento em +00:00 , de acordo com o abaixo, portanto, é uma maneira rápida de converter de Datetimeoffset(offset!=0) para 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