- ベストアンサー
ワイルドカードの検索
項目に'%'が入力されているデータを抽出したいのですが、 以下のようなSQLだとデータがすべて抽出されていまいます。 SELECT * FROM t_table WHERE code_name LIKE '%%%' '%'を検索するにはどうのようにすればいいのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
たとえば次のような例ではだめですかね SELECT * FROM t_table WHERE code_name LIKE '%\%%' ESCAPE '\' これで、'\'がエスケープコードになるので'\'の後ろにある文字を含むという検索ができるようになります。(Oracle)他のデータベースでもエスケープ文字の設定があると思いますので、それを使えばできると思います。 ちなみにエスケープ文字を含むものを検索の場合は、上記の場合 SELECT * FROM t_table WHERE code_name LIKE '%\\%' ESCAPE '\' とエスケープ文字を二つ並べてください
お礼
できました。 こんな方法があるなんてびっくりしました。 本当にありがとうございました。