0
我有代碼的一個問題,當我跑我得到無效的浮點操作電源的SQL Server
An invalid floating point operation occurred
我的代碼如下:
select POWER(ISNULL(value1,0)/NULLIF(value2,0) , 12/CONVERT(numeric(6,2),value3))
其中值1 (數據類型:money),value2(數據類型:money),value3(數據類型:int)是我數據庫中的列。
我得到這個錯誤,當值1 = NULL,值2 = 164083520.00和值3 = 177
怪異的是,如果我用這些數字代替我得到正確的結果,但不能同時運行這一點。
任何想法?
我想這些精確值和數據類型,並沒有得到一個錯誤 –
這不會給一個錯誤:DECLARE @t表(值錢,值2錢,值3 INT) INSERT @t 值(NULL,164083520.00,177) SELECT功率(ISNULL(value1,0)/ NULLIF(value2,0),12/CONVERT(數字(6,2),值3)) FROM @t –
請記住,即使您有'WHERE'子句,suc h *你認爲它只是評估這些特定值的表達式,實際上並不是 - 它可能正試圖在表中的其他行上評估這個表達式...... – AakashM