Ошибка Informix SQL - Почему не работает этот оператор UPDATE? - PullRequest
1 голос
/ 20 декабря 2011

Использование 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 Ответ

1 голос
/ 20 декабря 2011

Мне нужно было установить константу на 12.00

Я пропустил два знака после запятой

...