Sql server 如何将SQL数据库中的字段从numeric(18)更改为varchar(10)

Sql server 如何将SQL数据库中的字段从numeric(18)更改为varchar(10),sql-server,Sql Server,我刚刚接管的数据库中有一个zipcode字段。以前,它被设置为精度为18的数字字段,但我正在尝试将其转换为varchar(10) 我需要进行此更改,因为linq字段是以十进制形式输入的,并且会引起问题,我希望将linq字段更改为字符串 我在SQL server enterprise manager中尝试了此操作,但出现以下错误: 必须删除并重新创建该表。您对无法重新创建的表进行了更改,或者启用了该选项以防止保存需要重新创建表的更改 有什么建议吗?要在SQL management studio中启

我刚刚接管的数据库中有一个zipcode字段。以前,它被设置为精度为18的数字字段,但我正在尝试将其转换为varchar(10)

我需要进行此更改,因为linq字段是以十进制形式输入的,并且会引起问题,我希望将linq字段更改为字符串

我在SQL server enterprise manager中尝试了此操作,但出现以下错误:

必须删除并重新创建该表。您对无法重新创建的表进行了更改,或者启用了该选项以防止保存需要重新创建表的更改


有什么建议吗?

要在SQL management studio中启用该选项,请取消选中以下选项

工具/选项/设计器/表和数据库设计器/防止保存需要重新创建表的更改

您还可以运行alter语句来更改数据类型(只要所有数据都适合varchar(10)列)


您正在使用MS-SQL 2008吗?默认情况下,将阻止需要重建表的更改

单击工具->选项,然后单击设计器。取消选中“防止保存需要重新创建表的更改”

然后可以使用设计器更改列

有关如何操作的屏幕截图:

ALTER TABLE MyTable
    ALTER COLUMN MyZipCodeColumn VARCHAR(10)