当数据库表在SQL中有记录时,我们可以更改属性的数据类型吗?
我正在使用Microsoft Management Studio 2008.我得到的错误是: **将数据类型nvarchar转换为float时出错。 **
答案 0 :(得分:3)
简而言之:只有更改后的数据类型与新修改的数据类型,才能使用alter column
命令。此外,建议完成交易。
例如:您可以使用下面的脚本将列从varchar(50)更改为nvarchar(200)。
alter table TableName
alter column ColumnName nvarchar(200)
编辑:关于更改列类型时发布的错误。
**将数据类型nvarchar转换为float时出错。 **
一种方法是创建一个新列,并将所有好的(可转换和兼容的)记录转换为新列。之后,您可能希望清理不转换的错误记录,删除旧列并将新添加和填充的列重新命名为原始名称。 重要事项:首先使用测试环境进行所有这些操作。通常情况下,玩制作表变成了一个不好的做法。
参考以寻找有关类似SE帖子的更多讨论:
答案 1 :(得分:1)
显然,没有默认转换为新的数据类型。一种解决方案可能是创建具有所请求类型的第二列,并编写您自己的转换函数。完成此操作后,删除第一列并使用相同名称重命名第二列。
答案 2 :(得分:0)
需要考虑的事项:你的餐桌有多大。然后使用alter table
语法。我们不知道您想要更改哪种数据类型,因此仅限于此类。
改变栏目:
Alter Table [yourTable] Alter column [yourColumn] varchar(15)
要查找想法的帖子:Change column types in a huge table,How to change column datatype in SQL database without losing data
答案 3 :(得分:0)