LIKE文のキーワードのエスケープ
コードにアンダーバー '_' が含まれるものをLIKEで検索したい場合、LIKE文の中ではアンダーバーはワイルドカード(任意の一文字)として扱われてしまうため、エスケープが必要。
>>ちなみに、LIKE文の説明はここいらが詳しい。
アンダーバーで始まるコードをひっぱり出してくるSQL文におけるWHERE句のLIKE文は、以下のようになる。
SELECT * FROM コードマスタ WHERE コード LIKE '$_%' ESCAPE '$'
上記の例ではエスケープ文字として '$' を指定しているので、 '$_' とすることでアンダーバーとして認識してくれるようになる。
ちなみにこのエスケープ文字は自由らしい。スタンダードはなんなんだろう?