2011-12-20 328 views
1

使用IBM Informix Dynamic Server的版本10.00.FC9Informix SQL錯誤 - 爲什麼UPDATE語句不工作?

我得到的錯誤是:

1226: Decimal or money value exceeds maximum precision.

通常情況下,這是非常合情合理的,我可以通過CAST修正精度,但我的一切嘗試仍然產生相同的錯誤。

我有三列,我最初設置爲一個常數0.00。在幾條語句之後,我將這兩列更新爲正數小數,保持相同的精度。

當我嘗試將這兩列相乘以更新第三列時,出現上述錯誤。

我的更新語句是:UPDATE table SET col_3 = col_1*col_2;


我已經試過幾件事情,但曾在避免錯誤沒有運氣。

我試着將col_3中的常數設置爲0.000000

我也試過兩個相乘的雙方和最終值使用CAST更新:

UPDATE table SET col_3 = CAST((col_1) AS DECIMAL(6,2))*CAST((col_2) AS DECIMAL(6,2));

UPDATE table SET col_3 = CAST((col_1*col_2) AS DECIMAL(6,2));

這些嘗試的任意組合總是導致同樣的錯誤。

有誰知道我在這裏失蹤或做錯了什麼?

+0

你知道IDS 10.00不再受IBM支持的缺少這兩個地方,我相信。 – 2011-12-22 16:17:46

回答