大家好,
我有一个已经填充数据的表格,其中一列名为 'SSN',数据类型为INT。请问是否可以将该列 'SSN' 及其中的数据转换为VARCHAR(#)格式。
ALTER TABLE Table1
MODIFY SSN varchar(9);
那会有效吗?
谢谢!
非常感谢您的帮助!
大家好,
我有一个已经填充数据的表格,其中一列名为 'SSN',数据类型为INT。请问是否可以将该列 'SSN' 及其中的数据转换为VARCHAR(#)格式。
ALTER TABLE Table1
MODIFY SSN varchar(9);
那会有效吗?
谢谢!
非常感谢您的帮助!
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
在执行此类操作之前,备份永远不会有坏处。即使只是快速地插入到另一个表中,如果数据量不是很大也可以。
对于那些需要MySQL语法而不是ANSI SQL语法的人,可以尝试类似以下的内容:
ALTER TABLE Table1 MODIFY SSN varchar(9)
如果已经存在数据,则不允许更改列类型。您可以备份数据,然后在修改后重新填充表。
Alter table test Alter column id varchar(10)
而不会出现任何问题。 - Amirhossein