在MS SQL中获取错误Arithmetic overflow error converting numeric to data type numeric.
。这是桌子:
CREATE TABLE [Percentages]
(
[enabled] bit,
[name] nvarchar(150),
[percent] decimal(5,5)
)
这是我要插入的内容:
INSERT INTO [Percentages] ([enabled], [name], [percent])
VALUES (1,'Test',2.0)
如果十进制限制为00000.00000到99999.99999,为什么2.0会给我错误? “ 2”也给出相同的错误
答案 0 :(得分:2)
decimal(5,5)
表示总共5位数字,其中5位是小数。 (即-0.99999至0.99999。)
您想要decimal(10,5)
!
答案 1 :(得分:0)
十进制(5,5)表示-十进制(p,s),其中s
是scale
,即小数点右边的位数。 p
是precision
,以十进制存储的总位数。将p减去s可得到小数点左边的位数。
在您的情况下-小数(5,5)允许小数点左边的0位数字。因此,它将引发错误。
尝试给出:decimal(10,5)
或其他基于您的最大期望值的值。