2011-05-16 96 views
1

這是我的查詢我插入值中臨時表,但我越來越喜歡這個錯誤..算術溢出錯誤將錢給數據類型數字

算術溢出錯誤轉換 錢到數據類型數字。

查詢:

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" 

如何糾正它....

+1

ISNULL(@ TotalRevenues,0)作爲除數,和ISNULL(@ ConversionRatio,0)。這是不正確的 – 2011-05-16 04:38:09

+0

然後,這是公式....或我應該改變數據類型的聲明 – 2011-05-16 04:43:20

+1

我不知道這是什麼意思。 – 2011-05-16 04:44:24

回答

1

你的表是不是錢。

這是數字(十進制):並沒有足夠寬的計算值

此外,爲避免被零個除錯誤,這2個計算

isnull(@EBT,0)/isnull(@ConversionRatio,0) 
isnull(@EBT,0)/isnull(@TotalRevenues,0) 

應該

isnull((@EBT/NULLIF(@ConversionRatio,0)), 0) 
isnull((@EBT/NULLIF(@TotalRevenues,0)), 0) 
1

算術溢出錯誤

目的地數據類型不必 的容量來處理空間

麻煩增加空間

相關問題