2011-11-23 117 views
0

我在包含日期值的數據庫表中有一個Nvarchar列。日期值存儲爲兩種格式更改sql表格數據格式

2008-05-20 
22/04/2011 

現在我需要將此列轉換爲date列。當我嘗試以下查詢:

set dateformat dmy 
    alter table tblDocumentRevision 
    alter column RevisionDate date 

它返回一個錯誤:

Msg 241, Level 16, State 1, Line 2
Conversion failed when converting date and/or time from character string.
The statement has been terminated.

請幫我解決這個

+1

你可能需要寫更多的代碼;甚至是一個SSIS任務.... –

+0

'2008-05-20'並不是真的像'dmy'這樣的語法 – rabudde

+1

不,據我所知,你必須添加一個新的列與數據類型DATE,並作出查詢將現有列中的所有數據以單一日期格式複製到新列,然後刪除舊列並將新列名重命名爲舊名稱 –

回答

2

更新日期字符串中的表,所以它們都具有在將類型更改爲DateTime之前,需要使用相同的格式(SQL Server可以從中進行轉換)。