Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je convertir un Sql Server 2008 DateTimeOffset en un DateTime

La conversion en utilisant presque n'importe quel style entraînera la conversion de la valeur datetime2 en UTC.
De plus, la conversion de datetime2 en datetimeoffset définit simplement le décalage à +00:00 , comme indiqué ci-dessous, il s'agit donc d'un moyen rapide de convertir à partir de Datetimeoffset(offset!=0) à 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