8

全部,

我有一个填充表,其中“ SSN ”列作为数据类型INT。是否可以将列“ SSN ”和列中的数据转换为 VARCHAR(#)。

ALTER TABLE Table1
 MODIFY SSN varchar(9);

那会奏效吗?

谢谢!

任何帮助表示赞赏!

4

3 回答 3

23
alter table Table1
  alter column SSN varchar(9);

您可以进行快速测试以验证这将保留数据。

create table #data(
  ssl int
)

insert into #data values(1)
insert into #data values(2)
insert into #data values(3)
insert into #data values(4)

select * from #data

alter table #data
  alter column ssl varchar(9)

select * from #data

在做这样的事情之前有备份永远不会有坏处。如果不是大量数据,即使快速插入另一个表也可以。

于 2012-05-03T18:30:23.403 回答
1

对于那些需要 MySQL 语法而不是 ANSI SQL 语法的人,请尝试以下操作:

ALTER TABLE Table1 MODIFY SSN varchar(9)
于 2021-06-16T19:31:26.347 回答
-3

如果您有数据已经​​存在,它不允许您更改列类型。您可以备份数据,然后在更改表后重新填充表。

于 2020-06-11T08:54:33.953 回答