我有以下形式的日期(文本): 2016-07-05T13:09:35-06:00
它是 ODBC 格式,所以我能够简单地:
SELECT CONVERT(DateTime2, REPLACE(LEFT(TimeModifiedUnparsed, 19), 'T', ' '), 120)
这让我DateTime2
,但没有时间偏移。我可以解析和转换小时和分钟以及注销最后 6 个字符,然后执行DATEADD..
但我认为也许有更好的方法可以在 SQL Server 中将这样的字符串转换为 utc DateTime?
select convert(datetime2, cast('2016-07-05T13:09:35-06:00' as datetimeoffset), 1)
结果:
2016-07-05 19:09:35.0000000