2012-06-21 90 views
1

我在我的數據庫中有一列與varchar類型具有以下格式的值日期星期一dd hh:mm:ss EDT YYYY。我需要將其轉換爲日期時間。SQL轉換函數返回錯誤241

在運行查詢select CONVERT(datetime, colname, 100)系統會返回錯誤代碼241

幫助請

+2

你可以張貼在表的日期的樣本? – Taryn

+0

是的,發佈數據並告訴我們你正在使用的是什麼版本的SQL Server – daniloquio

+0

謝謝。這裏是樣本值Sat May 05 12:38:00 EDT 2012 – user1472300

回答

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