- ベストアンサー
SQL 部分一致検索について
カラムAとカラムBはそれぞれ文字列が格納されているとします。このとき、カラムAには「ABC」カラムBには「ABC(株)」があるとした場合、カラムAとカラムBが部分一致しているかをSQLで検索する場合、どのようなSQL文になるかご存知でしょうか? 勿論予め、検索したい文字列が判っている場合は、like '% nnnnn %' ですが、文字列が判らずカラム同士で部分一致するカラムを選択したいのです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ。 #1 のmuyoshid です。 select * from test1 where instr(str1, str2) > 0; でも同じ事ができます。 こちらの方が直感的で分かりやすいですね。
その他の回答 (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 でどうでしょうか?
お礼
muyoshid様 早速の回答ありがとうございました。 instrは知ってましたが、この場面でこのように使用するとは思いつきませんでした。大変助かりました。 なお、No1の回答も面白いですね。これは全く想像もしませんでした。それでは、失礼します。