2016-01-18 68 views
1

,當我試圖6個數字我有這樣的錯誤「算術溢出錯誤將表達式轉換爲數據類型爲int」。 amredy嘗試與數字格式。但我得到了同樣的問題。乘法問題在SQL Server 2012

例如:選擇(4561 * 6541)

請給我這一個妥善的解決辦法。等待一個好的解決方案。

回答

2

演員到bigint

select cast(234561 as bigint) * cast(622541 as bigint) 

(注意本例中的4位數字的工作對我很好,但像你描述這是由上面的代碼解決了誤差與6位數字)

+0

提供您的輸入。你已經嘗試了什麼,你的預期輸出是什麼 – StackUser

0

整數變量只能存儲-2,147,483,6482,147,483,647之間的值。

在你的情況,你試圖乘以兩個六位數字的數字是(123456 * 123456)= 15241383936(否則落在整數限制之間)。所以這就是爲什麼你應該使用SQL Server BIGINT數據類型CAST或CONVERT函數。始終搜索MSDN

0

我得到了解決, 選擇投(234561爲數字(10,0))*投​​(622541爲數字(10,0))