以下のように表示されます。
(日本語)
ORA-01424: エスケープ文字に続く文字がないか、または無効です。
(英語)
ORA-01424: missing or illegal character following the escape character
発生パターン
このエラーは以下のような場合に発生します。
- LIKEパターン内のエスケープ文字に続く文字が無い
- エスケープ文字に'%'、'_' を指定している
- エラー例1
- SQL> SELECT * FROM m_test WHERE name LIKE '%ABC¥' ESCAPE '¥'; SELECT * FROM m_test WHERE name LIKE '%ABC\' ESCAPE '\' * 行1でエラーが発生しました。: ORA-01424: エスケープ文字に続く文字がないか、または無効です。
エスケープ文字「¥」に続く文字が無い。
- エラー例2
- SQL> SELECT * FROM m_test WHERE name LIKE '%ABC%' ESCAPE '%'; SELECT * FROM m_test WHERE name LIKE '%ABC%' ESCAPE '%' * 行1でエラーが発生しました。: ORA-01424: エスケープ文字に続く文字がないか、または無効です。
エスケープ文字に「%」を指定している。
対処法
- エスケープ文字を文字列の最後に置かない
- エスケープ文字に「%」「_」を使用しない
(「%」と「_」はLIKE検索で使用する意味のある記号のためです)