首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Sql Server中更改小数列的精度?

如何在Sql Server中更改小数列的精度?
EN

Stack Overflow用户
提问于 2008-09-23 09:42:57
回答 6查看 175.1K关注 0票数 106

有没有办法改变Sql Server中现有小数列的精度?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-09-23 12:58:38

代码语言:javascript
复制
ALTER TABLE Testing ALTER COLUMN TestDec decimal(16,1)

只需放入decimal(precision, scale),将精度和小数位数替换为所需的值。

我没有使用表中的数据对此进行任何测试,但如果更改精度,如果新的精度较低,则可能会丢失数据。

票数 190
EN

Stack Overflow用户

发布于 2014-04-06 22:08:59

也许有一种更好的方法,但您始终可以将列复制到新列中,删除它,然后将新列重新命名为第一列的名称。

也就是说:

代码语言:javascript
复制
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 Server2008 R2上测试的,但应该可以在SQL Server 2000+上工作。

票数 14
EN

Stack Overflow用户

发布于 2017-01-30 18:44:22

代码语言:javascript
复制
ALTER TABLE (Your_Table_Name) MODIFY (Your_Column_Name) DATA_TYPE();

对于您的问题:

代码语言:javascript
复制
ALTER TABLE (Your_Table_Name) MODIFY (Your_Column_Name) DECIMAL(Precision, Scale); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/120083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档