【问题标题】:Having error, Arithmetic overflow error converting numeric to data type numeric有错误,将数字转换为数据类型数字的算术溢出错误
【发布时间】:2013-08-23 11:44:32
【问题描述】:

我想更新 sql server 中十进制(2,2)类型的表列中的值,我使用以下查询来更新它

update Bedding
  set Bedroom = 1.0
  where BeddingId = 5

但我遇到以下错误:将数字转换为数字数据类型的算术溢出错误。 提前致谢。

【问题讨论】:

  • 您确认 Bedroom 和 BeddingId 都是数字?
  • 是的,BeddingId 是 int 并且 Bedroom 是小数(2,2)

标签: sql-server-2008


【解决方案1】:

定义为 decimal(n,m) 的 Am 列包含 n 个十进制数字,其中 m 是小数部分。所以 decimal(2,2) 是 2 位长,都是小数部分。这只能取 -0.99 到 0.99 范围内的值。

【讨论】:

  • 好的,所以如果我想输入这种类型的值,我需要将 Bedroom 的数据类型从十进制(2,2)更改为十进制(3,2)。谢谢解释
猜你喜欢
  • 2021-10-29
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多