トップページ >  Oracle SQL >  LIKE検索時のエスケープ
初版2007/05/22: 最終更新日2007/05/22
  LIKE検索時のエスケープ
目次
LIKE検索時のエスケープ
LIKE検索時のエスケープ
SQLでLIKE検索を行う場合、特殊文字として %_があります。
%は任意の文字列で、_は任意の一文字を表わします。
但し、この%もしくは_を含む文字列自体を検索したい場合はLIKE検索時は%もしくは_をエスケープする必要があります。
エスケープするには以下のようにします。

SELECT *
FROM EMP
WHERE EMP_ID LIKE '1977@%' ESCAPE '@'

LIKE検索のあとにESCAPE '@'とします。@部分は何でもかまいませんが、これは@の後ろの一文字をエスケープします、という意味になります。
ですので、以下のように@でなくてもかまいません。

SELECT *
FROM EMP
WHERE EMP_ID LIKE '1977=%' ESCAPE '='

これは、=をエスケープ文字とした場合です。この場合、1977%という文字列がヒットします。