在填充后,是否可以将SQL Server表列数据类型从bigint更改为varchar?

时间:2011-02-10 11:06:10

标签: sql-server types

我有一个SQL Server 2008表,其中包含一个当前存储为bigint的外部用户引用 - 来自外部表的userid。我想扩展这个以允许电子邮件地址,开放ID等用作外部标识符。是否可以在不影响任何现有数据的情况下将列数据类型从bigint更改为varchar?

1 个答案:

答案 0 :(得分:6)

是的,这应该是可能的,没问题 - 只要你让你的VARCHAR字段大到足以保持BIGINT值: - )

你必须使用像这样的T-SQL:

ALTER TABLE dbo.YourTable
  ALTER COLUMN YourColumnName VARCHAR(50)   -- or whatever you want

那应该是它!由于所有BIGINT值都可以转换为字符串,因此该命令应该可以正常工作,不会有丢失数据的危险。