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

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

関連記事

ORACLE

[ORACLE] 日付フォーマットに日本語の「年月日」を使用する

日付フォーマットに日本語の「年月日」を使用するサンプルです。 サンプル 例)現在日時を「YYYY年MM月DD日」形式で表 ...
ORACLE

[データディクショナリ] マテリアライズドビューの情報を取得する

マテリアライズドビューの情報を参照するには、 MVIEWデータディクショナリビューを参照します。 以下、マテリアライズド ...
ORACLE

[集計関数] 合計値を求める(SUM)

検索結果を集計して合計値を求めるには、SUMを使用します。 サンプル 以下のテーブルを例にします。 【M_SCORE】 ...
ORACLE

[ORACLE関数] 文字列の全角文字を半角文字にする(TO_SINGLE_BYTE)

文字列中の全角文字を半角文字にするには、TO_SINGLE_BYTE関数を使用します。 サンプル 例)全角文字を半角文字 ...
ORACLE

[データディクショナリ] テーブルの情報を取得する

TABLE(表)の情報を参照するには、 TABLESデータディクショナリビューを参照します。 TABLESデータディクシ ...

スポンサーリンク