我需要轉換一個char列,看起來像:SQL-的Transact-改變柱-char爲datetime -103
10/04/2012
23/01/2006
20/09/2006
20/09/2006
爲datetime。
這個作品,如果我做的:
Select field, convert(datetime, [field], 103) from tablex
我得到
10/04/2012 2012-04-10 00:00:00.000
23/01/2006 2006-01-23 00:00:00.000
20/09/2006 2006-09-20 00:00:00.000
20/09/2006 2006-09-20 00:00:00.000
但我需要做的是在ALTER TABLE語句(我不希望創建另一列並刪除前一,它必須是一個方法在一個步驟中要做到這一點):
alter table tablex
alter column field datetime (103)
錯誤消息:
列,參數或變量#27:無法在 數據類型datetime上指定列寬。
如何轉換alter table語句內的字段,或者至少不創建另一個字段,然後刪除前一個字段? 謝謝。
您可能希望你的專欄首先更新到明確的日期格式。 'UPDATE dbo.YourTable SET YourColumn = CONVERT(VARCHAR(8),CONVERT(DATETIME,YourColumn,103),112)'。然後你可以直接使用你的alter table:'ALTER TABLE ... ALTER COLUMN YourColumn DATETIME' – Lamak
@a_horse_with_no_name示例代碼使它看起來像SQL Server – Lamak