• ベストアンサー

SQL 部分一致検索について

カラムAとカラムBはそれぞれ文字列が格納されているとします。このとき、カラムAには「ABC」カラムBには「ABC(株)」があるとした場合、カラムAとカラムBが部分一致しているかをSQLで検索する場合、どのようなSQL文になるかご存知でしょうか? 勿論予め、検索したい文字列が判っている場合は、like '% nnnnn %' ですが、文字列が判らずカラム同士で部分一致するカラムを選択したいのです。

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

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.2

こんにちわ。 #1 のmuyoshid です。 select * from test1 where instr(str1, str2) > 0; でも同じ事ができます。 こちらの方が直感的で分かりやすいですね。

googoo3
質問者

お礼

muyoshid様 早速の回答ありがとうございました。 instrは知ってましたが、この場面でこのように使用するとは思いつきませんでした。大変助かりました。 なお、No1の回答も面白いですね。これは全く想像もしませんでした。それでは、失礼します。

その他の回答 (1)

  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

こんにちわ。 Oracle9i でちょっと確認してみました。 select * from test1; STR1    STR2 ---------- ---------- aaaaa   bbbb aaxyaa   xy xy     aaxyaa  select * from test1 where str1 like '%' || str2 || '%'; STR1    STR2 ---------- ---------- aaxyaa   xy でどうでしょうか?

関連するQ&A