DBAtlas · データベース運用アトラス

22P02: invalid_text_representation

PostgreSQL

意味

変換時に、テキスト値が対象データ型の有効な表現ではなかった。例えばテキスト 'abc' を integer に変換しようとするとこのエラーが発生する。

原因

数値列/パラメータへの非数値テキストの送信、空文字列 ('') の数値/日付への変換、UUID や enum に対する無効なテキスト、不正な形式の JSON、想定形式でない入力データ。

対処方法

変換される値が実際に有効であることを確認する。型変換の前にアプリケーションで入力を検証する。空文字列を NULL に変換する: NULLIF(value, '')。PostgreSQL 16 以降で安全に変換するには、事前に pg_input_is_valid('abc', 'integer') で値をテストし、エラー詳細には pg_input_error_info() を使う。旧バージョンでは検証チェック (正規表現) を検討する。どの行が不正かを絞り込む。

DBAtlas で開く →

同じデータベースの他の項目