我有SQL Server数据库,我刚刚意识到,我可以改变其中一列的类型从int到bool。
我怎样才能做到这一点而不丢失已经输入到表中的数据呢?
我有SQL Server数据库,我刚刚意识到,我可以改变其中一列的类型从int到bool。
我怎样才能做到这一点而不丢失已经输入到表中的数据呢?
当前回答
ALTER TABLE tablename
ALTER COLUMN columnname columndatatype(size)
注意:如果列有大小,也只需写上大小即可。
其他回答
我可以修改表字段的数据类型,与以下查询:
ALTER TABLE table_name
MODIFY column_name datatype;
ALTER TABLE tablename
ALTER COLUMN columnname columndatatype(size)
注意:如果列有大小,也只需写上大小即可。
使用检查类型更改列数据类型:
IF EXISTS(
SELECT 1
FROM sys.columns
WHERE NAME = 'YourColumnName'
AND [object_id] = OBJECT_ID('dbo.YourTable')
AND TYPE_NAME(system_type_id) = 'int'
)
ALTER TABLE dbo.YourTable ALTER COLUMN YourColumnName BIT
在精简版中,将自动获取datetime数据类型的大小,即(8),因此不需要设置字段的大小并为此操作生成错误…
替换数据类型而不丢失数据
alter table tablename modify columnn newdatatype(size);