DBAtlas · Atlas für Datenbankbetrieb

ORA-01722: Invalid number (ungültige Zahl)

Oracle

Was bedeutet das?

Eine Zeichenkette, die nicht in eine Zahl umgewandelt werden kann, wurde in einem numerischen Kontext verwendet. Eine implizite oder explizite Konvertierung ist fehlgeschlagen.

Ursache

Vergleich einer numerischen Spalte mit Text (z. B. WHERE num_col = 'ABC'), Einfügen eines Werts mit Buchstaben in ein numerisches Feld, ein ungeeignetes Format für TO_NUMBER oder ein falsches Dezimal-/Gruppentrennzeichen (Komma vs. Punkt).

Lösung

Finde den Ausdruck mit der fehlschlagenden Konvertierung; meist eine WHERE-Bedingung oder ein INSERT-Wert. Stelle bei Text-/Zahlenvergleichen Typkompatibilität sicher und verwende bei Bedarf explizite Konvertierung: TO_NUMBER(my_column) oder TO_CHAR für die Textseite. Verhindere nicht-numerische Eingaben in numerische Spalten auf Anwendungsebene. Achte auf die Einstellung NLS_NUMERIC_CHARACTERS.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank