使用 T-SQL 将"2013-02-04T10:30:23+00:00"转换为日期时间 (2005)



嗨,我在将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)

最新更新