大家好,我试图在SQl Server 2005中解析xml文件。我在xml中有一个datetime字段,它是一个字符串,如下所示:'20110805060028.387'。我想将其转换为sql server中的datetime字段,但是我在语法上苦苦挣扎。是否可以从此字符串获取dd / mm / yyy hh:mm:ss.ms(毫秒=微秒)?

最佳答案

它不是受支持的格式,因此您需要;

declare @dt varchar(42)= '20110805060028.387'
--convert to '20110805 06:00:28.387'
select cast(stuff(stuff(stuff(@dt, 9, 0, ' '), 12, 0, ':'), 15, 0, ':') as datetime)

>>2011-08-05 06:00:28.387

09-26 04:48