我一直在嘗試使用SQL Server 2008中算術溢出錯誤BIGINT
select sum(columnA)
from tableA
但我不斷收到錯誤,總結一列的行,
Arithmetic overflow error converting expression to data type bigint
ColumnA
已經設置作爲bigint在桌上,甚至當我嘗試
select sum(cast(columnA as bigint)) from tableA
我仍然得到同樣的錯誤。我知道列範圍內的值總和應該等於111500000000000000左右。對於bigint,這太大了嗎?
如果是這樣,我該如何解決這個錯誤?
'BIGINT'範圍如下'-2^63(-9,223,372,036,854,775,808)至2^63-1(9,223,372,036,854,775,807)'大小爲8個字節http://msdn.microsoft.com/en-us/ library/ms187745.aspx – 2014-01-21 17:37:45
您確定這是該列的總和的範圍嗎?該值在「bigint」的限制範圍內。如果您嘗試轉換爲「數字(38,0)」數據類型,該怎麼辦? –
我剛剛在我的SQL服務器上運行了一個查詢語句[在表y中選擇cast sum(x)as bigint]。它跑了,雖然小得多。是否有可能在表中有一些非數字數據?這個列的數據類型是什麼? –