我的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.
如何更改数据类型和数据?请指出我正确的方向。
答案 0 :(得分:2)
首先,您必须增加col5
:
alter table [dbo].[TABLE2] alter column [col5] varchar(10) null;
然后UPDATE
将您的数据转换为数字等内容。也许:
UPDATE Table set col5 = '100' where col5='c'
答案 1 :(得分:1)
更改列 - 不适用于从varchar到int / long / etc。,
的类型转换可能有更聪明的方法。但是,这符合我的目的。