所有
我有一个填充表格,其中“ SSN ”列为数据类型 INT 。是否可以将列“ SSN ”和列中的数据转换为VARCHAR(#)。
ALTER TABLE Table1
MODIFY SSN varchar(9);
那会有用吗?
谢谢!
感谢任何帮助!
答案 0 :(得分:11)
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
在做这样的事情之前,备份永远不会受到伤害。即使快速插入另一个表,如果它不是大量数据也可以工作。
答案 1 :(得分:0)
对于那些需要 MySQL 语法而不是 ANSI SQL 语法的人,请尝试以下操作:
ALTER TABLE Table1 MODIFY SSN varchar(9)
答案 2 :(得分:-1)
如果您已有数据,则不允许更改列类型。您可以备份数据,然后在表被更改后重新填充。