プロが教える店舗&オフィスのセキュリティ対策術

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

'%'を検索するにはどうのようにすればいいのでしょうか?

A 回答 (1件)

たとえば次のような例ではだめですかね



 SELECT *
  FROM t_table
 WHERE code_name LIKE '%\%%' ESCAPE '\'

これで、'\'がエスケープコードになるので'\'の後ろにある文字を含むという検索ができるようになります。(Oracle)他のデータベースでもエスケープ文字の設定があると思いますので、それを使えばできると思います。

ちなみにエスケープ文字を含むものを検索の場合は、上記の場合


 SELECT *
  FROM t_table
 WHERE code_name LIKE '%\\%' ESCAPE '\'

とエスケープ文字を二つ並べてください
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/05/14 18:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!