Oracle 11g で REGEXP_SUBSTR を使用していますが、次の文字列を抽出するのに苦労しています。
私のクエリは次のとおりです。
SELECT regexp_substr('CN=aTIGERAdmin-Admin, CN=D0902498, CN=ea90045052, CN=aTIGERCall-Admin,', '[^CN=]*\,', 1, rownum) line
FROM dual
CONNECT BY LEVEL <= length('CN=aTIGERAdmin-Admin, CN=D0902498, CN=ea90045052, CN=aTIGERCall-Admin,') -
length(REPLACE('CN=aTIGERAdmin-Admin, CN=D0902498, CN=ea90045052, CN=aTIGERCall-Admin,', ',', ''))
このクエリから、正確な文字列 'CN=' に一致させようとすると問題が発生します。このクエリから、出力を次のように表示する必要があります。
CN=aTIGERAdmin-Admin,
CN=D0902498,
CN=ea90045052,
CN=aTIGERCall-Admin,
この形式では、最後にカンマがあります。
私が現在行っている方法は、「CN =」を切り落とすことですが、実際にはこの部分が必要です。