2013-10-11 109 views
3

,當我嘗試運行我的看法,但不知道什麼我與我的計算做錯了,我得到這個錯誤算術溢出錯誤轉換浮動錯誤在SQL

Arithmetic overflow error converting float to data type numeric

。我已經研究過,但目前還無法解決。

這裏的代碼導致錯誤行:

ISNULL(CAST(CAST(TOTAL_APPTS.APPT_CNT AS FLOAT)/TOTAL_RECS.PAT_CNT AS NUMERIC(3, 2)), 0) AS [CONVERSION RATE] 

回答

10

你的精度和比例參數NUMERIC是非常小的。你試過增加這些嗎?您的數字值只能處理高達9.99的數字。

您應仔細閱讀此頁:

http://msdn.microsoft.com/en-us/library/ms187746.aspx

這太在這裏解釋,但基本上第一個參數(精度)是數字的最大數(在你的情況3),第二個參數(比例)是小數點右側的位數,它總是從小數點左邊的位數開始。所以在你的情況下,3-2 =小數點左邊允許的1位數字,這就是爲什麼你的最大值只能是9.99。

+0

我不知道該怎麼做......如果你願意,可以詳細說明會有幫助。 thnx – moe

+1

只是將'NUMERIC(3,2)'改爲'NUMERIC(30,15)'之類的東西。 –

+0

我想我知道你在說什麼,那就是問題所在。日Thnx – moe

相關問題