我的数据库中有一个varchar类型的列具有以下格式的值:Day Mon dd hh:mm:ss EDT YYYY。我需要将它转换为日期时间。
在运行查询select CONVERT(datetime, colname, 100)
时,系统返回错误代码241。
请帮助
答案 0 :(得分:2)
您可以使用CAST or CONVERT:
declare @date varchar(50)
set @date = 'Sat May 05 12:38:00 EDT 2012'
select cast(substring(@date, 5, 6) + ' ' + right(@date, 4) + ' ' + substring(@date, 12, 8) as datetime)
OR
select cast(substring(@date, 5, 7) + right(@date, 4) + substring(@date, 11, 9) as datetime)
OR
select convert(datetime, substring(@date, 5, 7) + right(@date, 4) + substring(@date, 11, 9))
结果:
2012-05-05 12:38:00.000