2013-06-26 108 views
1

我在我的SQL Server數據庫中有一個表。如何更改包含sql server中數據的列的數據類型?

CREATE TABLE [dbo].[Table2]([col3] [varchar](50) NULL, [col4] [varchar](50) NULL, [col5] [char](1) NULL) 

以下是在表中的數據:

col3 col4 col5 
sad  asdf c 
df  sdfg b 

現在我想 'COL5' 的數據類型更改爲INT。嘗試這樣:

alter table [dbo].[TABLE2] alter column [col5] int null; 

遇到此錯誤:

Conversion failed when converting the varchar value 'c' to data type int. 
The statement has been terminated. 

更改後的數據類型爲INT - 我要改變 'C' 100和 'b' 到101

哪有我改變數據類型和數據?請指向正確的方向。

回答

2

首先你要增加你的col5

alter table [dbo].[TABLE2] alter column [col5] varchar(10) null; 

然後UPDATE數據的東西,例如數字。也許:

UPDATE Table set col5 = '100' where col5='c' 
+0

這正是我正在尋找的。謝謝。 – user811433

1

阿爾特列 - 將爲類型轉換從varchar不行爲int /長/等

  • 您必須創建新的int的列
  • 然後從COL5複製所有的現有數據。新的INT列
  • ,然後從TABLE2
  • 刪除COL5列

可能有更聰明的方法。但是,這符合我的猜想。

相關問題