2

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

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

请帮忙

4

1 回答 1

2

您可以为此使用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
于 2012-06-21T14:02:40.553 回答