我試圖在數據庫中添加另一個小數點,並且在Microsoft SQL Server Management Studio(2014)中不斷收到此錯誤。該列當前是數字(9,2)NULL,我想將其更改爲數字(9,3)NULL。無論是通過代碼還是設計者,它都不會允許我這樣做。將數字(9,2)轉換爲數字(9,3)時的算術溢出錯誤
ALTER TABLE LOG ALTER COLUMN WEIGHT numeric(9, 3) NULL
-- Arithmetic overflow error converting numeric to data type numeric.
閱讀了幾個線程後,我沒有設法找到這個問題的答案。由於我只是讓這個領域變得更大,所以在理論上應該沒有截斷問題或類似問題。
表中最大值爲1102439.00,最小值爲0.00。不是一個NULL。
因爲你最大的值長度爲'9'和你想它的規模定義爲'3 '這是它的長度爲'10'數字,爲了避免這種情況嘗試定義NUMERIC(10,3),這可以解決你的問題 –
@JaydipJ這實際上解決了我的問題。 – Danieboy
爲了提供更多關於解決方案的信息:您不是讓字段更大,而只是移動小數點。任何9位數字都會失敗,例如1102439.00,因爲這將需要是1024位長度的1102439.000。 –