DBAtlas · Атлас эксплуатации баз данных

ORA-01722: Недопустимое число

Oracle

Что это значит?

Строка символов, которую невозможно преобразовать в число, использована там, где требуется числовой контекст. Неявное или явное преобразование завершилось ошибкой.

Почему возникает?

Сравнение числового столбца с текстом (например, WHERE num_col = 'ABC'), вставка значения с буквами в числовое поле, неподходящий формат для TO_NUMBER или несоответствие десятичного/группового разделителя (запятая или точка).

Как исправить

Найдите выражение с неудачным преобразованием; обычно это условие WHERE или значение INSERT. Обеспечьте совместимость типов при сравнении текста и чисел и при необходимости используйте явное преобразование: TO_NUMBER(my_column) или TO_CHAR для текстовой стороны. Не допускайте ввода нечисловых данных в числовые столбцы на уровне приложения. Обратите внимание на настройку NLS_NUMERIC_CHARACTERS.

Открыть в DBAtlas →

Ещё по этой СУБД