首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么SQL Server在将int转换为numeric数据类型时引发算术溢出错误?

为什么SQL Server在将int转换为numeric数据类型时引发算术溢出错误?
EN

Stack Overflow用户
提问于 2010-01-14 02:18:07
回答 5查看 191.5K关注 0票数 78

运行此代码时,SQL Server Management Studio抛出错误:

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))

一切都很顺利。

对数值数据类型有限制吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-01-14 02:21:12

Numeric定义总位数,然后定义小数点后的数字。

数字(3,2)最多只能包含9.99。

票数 150
EN

Stack Overflow用户

发布于 2010-01-14 02:21:34

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

票数 31
EN

Stack Overflow用户

发布于 2010-01-14 02:21:52

NUMERIC(3,2)表示:总共3位,小数点后2位。所以在小数点之前只有一个小数点。

试试NUMERIC(5,2) --三个在小数点之前,两个在小数点之后。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2059134

复制
相关文章

相似问题

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