gpt4 book ai didi

sql - MS SQL Server : how to determine which field is causing Arifmetic error

转载 作者:行者123 更新时间:2023-12-03 08:32:45 24 4
gpt4 key购买 nike

我有一条更新语句,该语句更新表中的许多字段。我得到错误

Msg 8115, Level 16, State 8, Line 1 Arithmetic overflow error converting numeric to data type numeric. The statement has been terminated.



它不会显示到底是哪个字段导致了问题。
有什么方法可以从SQL Server获取此信息?
假设手动检查每个字段不是一个选择。

最佳答案

您没有说您的列是否允许NULL值。

CREATE TABLE T
(
D1 DECIMAL(2,2) NOT NULL,
D2 DECIMAL(2,2) NOT NULL
)

INSERT INTO T VALUES(0.99,0.99)

然后
UPDATE T SET D1=0.33, D2=2.0

提供高度信息

Arithmetic overflow error converting numeric to data type numeric.




SET ARITHABORT OFF;
SET ANSI_WARNINGS OFF;
UPDATE T SET D1=0.33, D2=2.0

给予更多信息

Cannot insert the value NULL into column 'D2', table 'MyDb.dbo.T'; column does not allow nulls. UPDATE fails.



告诉您特定的问题列。

关于sql - MS SQL Server : how to determine which field is causing Arifmetic error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18737912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com