gpt4 book ai didi

sql - 将数字转换为数据类型数字的算术溢出错误

转载 作者:行者123 更新时间:2023-12-01 04:11:27 25 4
gpt4 key购买 nike

我已经在 2 个不同的数据库上执行了这个查询:

更新 table1 集
PresencePayFactor = cast(30 as decimal (4,2))/30


它正在处理一个但不在另一个上。
2 个数据库是 sql server 2008 R2

它给出了以下错误
“将数字转换为数字数据类型时出现算术溢出错误。”

可能是什么问题?

最佳答案

两者之间的 NUMERIC_ROUNDABORT 设置是否不同?

SET NUMERIC_ROUNDABORT OFF
GO
Declare @TestTable Table ( PresencePayFactor decimal(4,2) null )
Insert @TestTable( PresencePayFactor )
Select Cast( 30 As decimal(4,2) ) / 30
GO
-- No error

SET NUMERIC_ROUNDABORT ON
GO
Declare @TestTable Table ( PresencePayFactor decimal(4,2) null )
Insert @TestTable( PresencePayFactor )
Select Cast( 30 As decimal(4,2) ) / 30
-- Arithmetic overflow error converting numeric to data type numeric.

SET NUMERIC_ROUNDABORT (Transact-SQL)

关于sql - 将数字转换为数据类型数字的算术溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5987558/

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