将INT转换为VARCHAR

时间:2012-05-03 18:28:51

标签: sql-server-2008

所有

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

ALTER TABLE Table1
 MODIFY SSN varchar(9);

那会有用吗?

谢谢!

感谢任何帮助!

3 个答案:

答案 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)

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