如何在 SQL 服务器中将 DateTimeOffeset 转换为 DateTime

How to convert DateTimeOffeset to DateTime in SQL Server

如何将DateTimeOffset转换成DateTime

我试过使用:

CONVERT(VARCHAR, 2018-03-02 12:00:00.0000000 -07:00, 120)

但结果是:

"2018-03-02 12:00:00 -07:00"

例如:"2018-03-02 12:00:00.0000000 -07:00""2018-03-02 12:00:00"

根据 site I linked to above,在我自己的测试中,这个有效:

select select CONVERT(VARCHAR(19), CONVERT(DATETIME, SWITCHOFFSET('2018-03-02 12:00:00.0000000 -07:00', DATEPART(tz , SYSDATETIMEOFFSET()))),120)

应该可以!

请使用以下转换

declare @createdate datetimeoffset
set @createdate = '2018-03-02 12:00:00.0000000 -07:00'
select convert(datetimeoffset,CONVERT(datetime2, @createdate , 1))