我有SQL Server数据库,我刚刚意识到,我可以改变其中一列的类型从int到bool。
我怎样才能做到这一点而不丢失已经输入到表中的数据呢?
我有SQL Server数据库,我刚刚意识到,我可以改变其中一列的类型从int到bool。
我怎样才能做到这一点而不丢失已经输入到表中的数据呢?
当前回答
在精简版中,将自动获取datetime数据类型的大小,即(8),因此不需要设置字段的大小并为此操作生成错误…
其他回答
为什么你认为你会丢失数据?只需进入Management Studio并更改数据类型。如果现有值可以转换为bool (bit),它就会这样做。换句话说,如果在原始字段中“1”映射为真,而“0”映射为假,那么就没问题。
ALTER TABLE tablename
ALTER COLUMN columnname columndatatype(size)
注意:如果列有大小,也只需写上大小即可。
对我来说,在sql server 2016,我这样做
将column n1重命名为column2
EXEC sp_rename 'dbo.T_Table1.Column1', 'Column2', 'COLUMN'
*将列类型从字符串修改为int:(请确保数据格式正确)
ALTER TABLE dbo.T_Table1 ALTER COLUMN Column2 int;
我可以修改表字段的数据类型,与以下查询:
ALTER TABLE table_name
MODIFY column_name datatype;
替换数据类型而不丢失数据
alter table tablename modify columnn newdatatype(size);