Informix SQL错误 - 为什么这个UPDATE语句不起作用?

时间:2011-12-20 18:29:05

标签: sql error-handling decimal informix sql-update

使用IBM Informix Dynamic Server版本10.00.FC9

我得到的错误是:

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));

这些尝试的任何组合总会导致相同的错误。

有谁知道我在这里失踪或做错了什么?

1 个答案:

答案 0 :(得分:1)

我需要将常量设置为12.00

我错过了小数点前的两个地方