Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come posso convertire un DateTimeOffset di SQL Server 2008 in un DateTime

La conversione utilizzando quasi tutti gli stili causerà la conversione del valore datetime2 in UTC.
Inoltre, la conversione da datetime2 a datetimeoffset imposta semplicemente l'offset su +00:00 , come indicato di seguito, quindi è un modo rapido per convertire da 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