この記事では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