如何更改Sql Server中的十进制列的精度?
有没有办法改变Sql Server中现有的十进制列的精度?
ALTER TABLE Testing ALTER COLUMN TestDec decimal(16,1)
只要把decimal(precision, scale)
,用你想要的值代替精度和比例。
我没有用表格中的数据做过任何testing,但是如果你改变了精度,如果新的精度较低,你将会丢失数据。
可能有更好的办法,但是您可以随时将列复制到新列中,然后将其删除并将新列重命名为第一列的名称。
以机智:
ALTER TABLE MyTable ADD NewColumnName DECIMAL(16, 2); GO UPDATE MyTable SET NewColumnName = OldColumnName; GO ALTER TABLE CONTRACTS DROP COLUMN OldColumnName; GO EXEC sp_rename @objname = 'MyTable.NewColumnName', @newname = 'OldColumnName', @objtype = 'COLUMN' GO
这在SQL Server 2008 R2上进行了testing,但应该在SQL Server 2000+上运行。
ALTER TABLE `tableName` CHANGE `columnName` `columnName` DECIMAL(16,1) NOT NULL;
我用这个来改变
ALTER TABLE (Your_Table_Name) MODIFY (Your_Column_Name) DATA_TYPE();
对于你的问题:
ALTER TABLE (Your_Table_Name) MODIFY (Your_Column_Name) DECIMAL(Precision, Scale);
去企业经理,devise表,点击你的领域。
制作一个小数列
在底部的属性中有一个精度属性