首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数字(9,2)转换为数字(9,3)时出现算术溢出错误

将数字(9,2)转换为数字(9,3)时出现算术溢出错误
EN

Stack Overflow用户
提问于 2016-06-22 08:02:40
回答 2查看 81关注 0票数 2

我正试图在我的数据库中添加另一个小数点,并且我一直在(2014)中得到这个错误。该列当前为数值(9,2) NULL,我希望将其更改为数值(9,3) NULL。无论是通过代码还是设计人员,它都不允许我这样做。

代码语言:javascript
复制
ALTER TABLE LOG ALTER COLUMN WEIGHT numeric(9, 3) NULL

-- Arithmetic overflow error converting numeric to data type numeric.

在阅读了几个帖子之后,我没有找到这个问题的答案。因为我只是让这个领域更大,所以理论上不应该有截断问题或类似的问题。

表中最大值为1102439.00,最小值为0.00。一个都没有。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-23 11:00:47

由于您的最大值长度是9,并且您试图将其刻度定义为3,使其长度达到10位数,而NUMERIC(9,3)中不适合,

NUMERIC(P,S)开始,

  • P是表示数字总数的精度。
  • S是表示十进制后的数字总数的标度。

为了避免这种情况,尝试定义NUMERIC(10,3),这可能解决您的问题。

票数 1
EN

Stack Overflow用户

发布于 2016-06-22 08:47:16

  1. 当您已经将其定义为数字(10,3)(相当于十进制(10,3))时,您将使用占居9位字节(https://msdn.microsoft.com/en-us/library/ms187746.aspx)的10-19范围内的精度p。使用十进制(19,3),这样您就可以为该列获得具有相同存储空间的最大值。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37962022

复制
相关文章

相似问题

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