Oracle の LIKE 演算子で _、% を検索文字列として指定する
SELECT * FROM foo WHERE bar LIKE '%baz\%' ESCAPE '\';
SELECT * FROM foo WHERE bar LIKE '%baz\_' ESCAPE '\';
ESCAPE でエスケープ文字に指定する必要がある (この場合は \ を指定)。
Oracle では、デフォルトのエスケープ文字は決まっていないらしい。
MySQL の場合は、デフォルトのエスケープ文字は、\ になっている。
ただし、MySQL も ESCAPE 節を使えるため、スケープ文字にすることも可能 (この場合は | を指定)。
SELECT * FROM foo WHERE bar LIKE '%baz|%' ESCAPE '|';
- ref.: 忘れっぽいエンジニアのオラクルSQLリファレンス
http://oracle.se-free.com/dml/01_like.html
- ref.: MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.3.1 文字列比較関数
http://dev.mysql.com/doc/refman/5.1/ja/string-comparison-functions.html