No Programming, No Life

プログラミング関連の話題や雑記

LIKE文のキーワードのエスケープ

コードにアンダーバー '_' が含まれるものをLIKEで検索したい場合、LIKE文の中ではアンダーバーはワイルドカード(任意の一文字)として扱われてしまうため、エスケープが必要。
>>ちなみに、LIKE文の説明はここいらが詳しい。


アンダーバーで始まるコードをひっぱり出してくるSQL文におけるWHERE句のLIKE文は、以下のようになる。

SELECT * FROM コードマスタ WHERE コード LIKE '$_%' ESCAPE '$'

上記の例ではエスケープ文字として '$' を指定しているので、 '$_' とすることでアンダーバーとして認識してくれるようになる。
ちなみにこのエスケープ文字は自由らしい。スタンダードはなんなんだろう?