为什么SQLServer抛出算术溢出错误,将int转换为数据类型数值?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

I have an error being thrown by SQLServerManagementStudio运行此代码时:

declare @percentage numeric(3,2)
set @percentage = cast(15 as numeric(3,2))

但是当我将数值声明改为

declare @percentage numeric(4,2)
set @percentage = cast(15 as numeric(4,2))

数字数据类型是否有限制?

提问于
用户回答回答于

数字定义了数字的总数,然后定义了十进制之后的数字。

数字(3,2)只能容纳9.99。

用户回答回答于

numeric (3,2).这意味着你有3位数据,其中两位在小数点的右边,只在小数点的左边留下一位。15在小数点左边有两位。顺便说一句,如果你有100作为一个值,我会把它增加到numeric (5, 2)

扫码关注云+社区