ORACLE機能 ORAエラー

[ORAエラー] ORA-01424: エスケープ文字に続く文字がないか、または無効です。

投稿日:2018年8月7日 更新日:

以下のように表示されます。

(日本語)
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検索で使用する意味のある記号のためです)

スポンサーリンク

スポンサーリンク

-ORACLE機能, ORAエラー

執筆者:



comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサーリンク