我的数据库中有一个 varchar 类型的列,其值采用以下格式 Day Mon dd hh:mm:ss EDT YYYY。我需要将其转换为日期时间。
运行查询时选择 CONVERT(datetime, colname, 100)
系统返回错误代码 241。
请帮忙
最佳答案
您可以使用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)
或者
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
关于SQL 转换函数返回错误 241,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11139705/