将格式为yyyymmddhhnn的字符串转换为datetime

Kai*_*Kai 2 sql sql-server datetime

我在SQL Server数据库中有一个表,其中包含一个日期字段,yyyymmddhhnn格式为varchar (nn以分钟为单位).例如,20001201120001 Dec 2000 12:00.我需要将其转换为datetime值,但convert似乎没有任何代码覆盖它.它最接近ISO格式,yyyymmdd但不包括时间部分,因此调用convert(datetime, MyDateField, 112)失败.

时间部分很重要,所以我不能把它剥掉.如何将此转换为日期时间?

Mad*_*nan 6

试试这个

declare @t varchar(20)
set @t='200012011200'
select cast(stuff(stuff(@t, 11,0,':'),9,0,' ') as datetime)
Run Code Online (Sandbox Code Playgroud)