嗨,我在将UTC日期时间字符串"2013-02-04T10:30:23+000:00"转换为Sql 2005日期时间格式时遇到问题。我试过了转换(日期时间,'2013-02-04T10:30:23+000:00',101)但它给我一个错误"从字符串转换日期时间时转换失败。
但是,这确实有效转换(日期时间,'2013-02-04 10:30:23',101)。
对于转换(日期时间,'2013-02-04T10:30:23+000:00',101),有什么解决办法吗
提前谢谢。
你可以这样做:
DECLARE @s VARCHAR(100) = '2013-02-04T10:30:23+00:00'
SELECT CONVERT(DATETIME, LEFT(@s, 10) + ' ' + SUBSTRING(@s, 12, 8), 101)
这将提取字符串所需的部分,将它们连接到一个新的字符串中,然后使用CONVERT
来获得DATETIME
。
DECLARE @utc nvarchar(100) = '2013-02-04T10:30:23+00.00'
SELECT CAST(STUFF(@utc, CHARINDEX('+', @utc), LEN(@utc),'') AS datetime)