Sql server 2005 将货币转换为数字数据类型时出现算术溢出错误
这是我的查询,我在临时表的中插入了一个值,但我得到的错误如下 算术溢出错误转换 将money转换为数据类型numeric 查询是:Sql server 2005 将货币转换为数字数据类型时出现算术溢出错误,sql-server-2005,Sql Server 2005,这是我的查询,我在临时表的中插入了一个值,但我得到的错误如下 算术溢出错误转换 将money转换为数据类型numeric 查询是: DECLARE @EBT money Declare @ConversionRatio money Declare @TotalRevenues money insert into #SummarySheet(Item,INR,Dollar,Percentage) VALUES ('EBT', isnull(@EBT,0), isnull(@EBT,0)/isn
DECLARE @EBT money
Declare @ConversionRatio money
Declare @TotalRevenues money
insert into #SummarySheet(Item,INR,Dollar,Percentage)
VALUES ('EBT', isnull(@EBT,0), isnull(@EBT,0)/isnull(@ConversionRatio,0),
isnull(@EBT,0)/isnull(@TotalRevenues,0))
FYR:
这些数值是:
@TotalRevenues="1.00"
@EBT="-50995944.26"
@ConversionRatio="44.5"
如何纠正…你的桌子不是钱 它是数字的(十进制):并且不够宽,不适合计算值 此外,为了避免被零除的错误,这两个计算
isnull(@EBT,0)/isnull(@ConversionRatio,0)
isnull(@EBT,0)/isnull(@TotalRevenues,0)
应该是
isnull((@EBT / NULLIF(@ConversionRatio,0)), 0)
isnull((@EBT / NULLIF(@TotalRevenues,0)), 0)
算术溢出错误 目标数据类型没有 处理空间的能力 请增加空间
isnull(@TotalRevenues,0)作为除数,isnull(@ConversionRatio,0)。这是不正确的,那么这就是公式……或者我应该更改datatypeI的声明我不知道这是什么意思。表的结构是什么??那些列是什么类型的
INR
,Dollar
,Percentage
??