0

残念ながら、私が始めた元のスレッドに基づいてデータが変更されたため、これを実行しようとするといくつかの問題が発生します。

OracleSQLを使用した文字列内の特定の文字列の取得

私のデータは次のように変更されました。

member_of = CN = DAaXYZApple-Au、CN = DAaXYZApple-読み取り専用、CN = aXYZApple-書き込み、CN = DAaXYZApple-Au-Admin、CN = aTest123_RW、{CN =#XXY22、} CN = aInternet-1

元の投稿で説明したのと同じタイプの手法を使用して、文字列「aXYZApple」のみを保持するすべての文字列を取得する必要があります。したがって、上記に基づいて、次の結果は私が求めているものであり、表示されるだけです。

aXYZApple-Au
aXYZApple-Readonly
aXYZApple-Write
aXYZApple-Au-Admin

元の投稿のようにOracleregexp_substrを使用する必要があるかどうかはわかりません。

4

1 に答える 1

1

更新されたデータセットに基づく私自身の質問の解決策は次のとおりです。これは、私の元の質問で提供された解決策にほぼ基づいています。

SELECT regexp_substr(line, 'aXYZApple[^,]*') subtxt
FROM (SELECT regexp_substr(:x, '[^,]*\,', 1, rownum + 1) line
      FROM dual
      CONNECT BY LEVEL <= length(:x) - length(REPLACE(:x, ',', '')))
WHERE line LIKE '%aXYZApple%';
于 2012-06-14T03:31:16.617 に答える