DBAtlas · Atlas für Datenbankbetrieb

22P02: invalid_text_representation

PostgreSQL

Was bedeutet das?

Ein Textwert war bei der Konvertierung keine gültige Darstellung für den Zieldatentyp. Zum Beispiel löst der Versuch, den Text 'abc' in integer zu konvertieren, diesen Fehler aus.

Ursache

Nicht-numerischer Text an eine numerische Spalte/einen numerischen Parameter; ein leerer String ('') wird in eine Zahl/ein Datum konvertiert; ungültiger Text für eine UUID oder ein Enum; fehlerhaftes JSON; Eingabedaten nicht im erwarteten Format.

Lösung

Prüfe, ob der konvertierte Wert tatsächlich gültig ist. Validiere Eingaben in der Anwendung vor der Typkonvertierung. Wandle leere Strings in NULL um: NULLIF(value, ''). Teste für eine sichere Konvertierung ab PostgreSQL 16 den Wert vorab mit pg_input_is_valid('abc', 'integer') und nutze pg_input_error_info() für Fehlerdetails; erwäge in älteren Versionen eine Validierungsprüfung (Regex). Grenze ein, welche Zeile fehlerhaft ist.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank