SQL转换函数返回错误241

时间:2012-06-21 13:51:56

标签: sql sql-server

我的数据库中有一个varchar类型的列具有以下格式的值:Day Mon dd hh:mm:ss EDT YYYY。我需要将它转换为日期时间。

在运行查询select CONVERT(datetime, colname, 100)时,系统返回错误代码241。

请帮助

1 个答案:

答案 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