Oracle 11gの正規表現を使用して、列からテキストを抽出したいとします。私は仕事をする2つのクエリがありますが、私はそれを行う(クリーナー/より良い)方法を探しています。クエリーを1つのクエリーまたは新しい同等のクエリーに結合することがあります。ここで彼らは、次のとおりOracle 11gの表からパターンを抽出するにはどうすればよいですか?
クエリ1:
select column1 from table1 where regexp_like(column1, pattern);
クエリ2:一致する行からのすべてのマッチしたテキストを抽出するパターンに一致する行を識別する。
select regexp_substr(matching_row, pattern, 1, level)
from dual
connect by level < regexp_count(matching_row, pattern);
私はPL/SQLを使用してこれらの2つのクエリを結合しますが、それは面倒で不器用です。 1つのクエリにどのように組み合わせることができますか。ありがとうございました。
UPDATE:パターン 'BC' のサンプルデータ:
row 1: ABCD
row 2: BCFBC
row 3: HIJ
row 4: GBC
期待される結果は 'BC' の4行のテーブルです。
興味深い...データの見た目と希望の結果のサンプルを投稿できますか? – FrustratedWithFormsDesigner
+1 - 面白いエクササイズ! – DCookie