• ベストアンサー

ワイルドカードの検索

項目に'%'が入力されているデータを抽出したいのですが、 以下のようなSQLだとデータがすべて抽出されていまいます。  SELECT *   FROM t_table  WHERE code_name LIKE '%%%' '%'を検索するにはどうのようにすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • msystem
  • ベストアンサー率42% (79/186)
回答No.1

たとえば次のような例ではだめですかね  SELECT *   FROM t_table  WHERE code_name LIKE '%\%%' ESCAPE '\' これで、'\'がエスケープコードになるので'\'の後ろにある文字を含むという検索ができるようになります。(Oracle)他のデータベースでもエスケープ文字の設定があると思いますので、それを使えばできると思います。 ちなみにエスケープ文字を含むものを検索の場合は、上記の場合  SELECT *   FROM t_table  WHERE code_name LIKE '%\\%' ESCAPE '\' とエスケープ文字を二つ並べてください

kobayan
質問者

お礼

できました。 こんな方法があるなんてびっくりしました。 本当にありがとうございました。

関連するQ&A