SQLで特殊文字をエスケープする方法

この記事ではSQLで特殊文字をエスケープする方法について解説します。

 シングルクォーテーション

シングルクォーテーションをエスケープする場合はシングルクォーテーションを2つ連続で記述します。

例えば「O'Neill」と記述したい場合は「O''Neil」を記述します。

SQL> SELECT 'O''Neill' FROM dual;
'O''NEILL'
--------------
O'Neill


 LIKE句のアンダースコア、パーセント

LIKE句で「_」、「%」はそれぞれワイルドカードとして使用されるため、文字として使用する場合はエスケープが必要です。

エスケープする際はESCAPE句でエスケープ文字を指定して行います。

例えば「100%」で始まる単語を抽出したい場合は以下のように記述します。

SQL> SELECT name FROM menu WHERE name LIKE '100\%%' ESCAPE '\';
NAME
----------------------------------------
100% Orange Juice
100% Apple Juice