如何使用T-SQL将字符串转换为datetime?

Vin*_*ith 2 t-sql sql-server-2005

大家好我正在尝试解析SQl Server 2005中的xml文件.我在xml中有一个datetime字段,字符串如下:'20110805060028.387'.我想将它转换为sql server中的datetime字段,但我正在努力学习语法.是否有可能从这个字符串得到dd/mm/yyy hh:mm:ss.ms(ms =微秒)?

Ale*_* K. 6

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

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
Run Code Online (Sandbox Code Playgroud)