我正在使用 MS SQL 服务器,并且我有一个文本类型的日期字段。存储在那里的日期采用这种格式
2017-03-01T18:23:02+0700
我正在尝试在日期时间字段中转换此字段,但失败了。我试过了
CONVERT(datetimeoffset,date, 127)
CONVERT(datetime,date, 127)
CONVERT(datetime2,date, 127)
但我不断得到
从字符串转换日期和/或时间时转换失败。
我认为问题在于,根据 ISO8601,时间偏移必须采用 hh:mm 格式,而我的是 hhmm。如果更容易,我不介意只保留日期(yyyy-mm-dd)。
我读过类似的问题,但没有一个完全符合我的情况,我无法找出解决方案。
试试这个
Declare @dt varchar(50)
set @dt = '2017-03-01T18:23:02+0700'
select convert(datetime, replace(LEFT(@dt, LEN(@dt) - 1), '+', '.'), 126)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句