我的数据库中有一个 varchar 类型的列,其值采用以下格式 Day Mon dd hh:mm:ss EDT YYYY。我需要将其转换为日期时间。
在运行查询select CONVERT(datetime, colname, 100)
系统返回错误代码 241。
请帮忙
我的数据库中有一个 varchar 类型的列,其值采用以下格式 Day Mon dd hh:mm:ss EDT YYYY。我需要将其转换为日期时间。
在运行查询select CONVERT(datetime, colname, 100)
系统返回错误代码 241。
请帮忙
您可以为此使用CAST 或 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)
或者
select cast(substring(@date, 5, 7) + right(@date, 4) + substring(@date, 11, 9) as datetime)
或者
select convert(datetime, substring(@date, 5, 7) + right(@date, 4) + substring(@date, 11, 9))
结果:
2012-05-05 12:38:00.000