DBAtlas · Atlas de operaciones de bases de datos

ORA-01722: Invalid number (número no válido)

Oracle

¿Qué significa?

Se usó una cadena de caracteres que no puede convertirse en número donde se requiere un contexto numérico. Falló una conversión implícita o explícita.

¿Por qué ocurre?

Comparar una columna numérica con texto (p. ej., WHERE num_col = 'ABC'), insertar un valor con letras en un campo numérico, un formato inadecuado para TO_NUMBER o una discrepancia de separador decimal/de miles (coma frente a punto).

Cómo solucionarlo

Encuentre la expresión con la conversión fallida; normalmente una condición WHERE o un valor de INSERT. Asegure la compatibilidad de tipos en las comparaciones texto/número y use conversión explícita cuando sea necesario: TO_NUMBER(my_column) o TO_CHAR para el lado de texto. Impida la entrada de valores no numéricos en columnas numéricas en la capa de aplicación. Tenga en cuenta el parámetro NLS_NUMERIC_CHARACTERS.

Abrir en DBAtlas →

Más entradas de este motor