No Programming, No Life

新しいNPNLです。http://d.hatena.ne.jp/fumokmm/ から引っ越してきました。

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

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


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

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

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