使用Oracle SQL检索字符串中的某些字符串 - 第2部分

时间:2012-06-13 00:38:50

标签: sql regex oracle plsql

不幸的是我现在有一些问题试图让这个问题继续下去,因为我的数据基于我开始看到的原始线程而发生了变化:

Retrieving certain strings within a string using Oracle SQL

我的数据现已更改为:

  

member_of = CN = DAaXYZApple-Au,CN = DAaXYZApple-Readonly,   CN = aXYZApple-Write,CN = DAaXYZApple-Au-Admin,CN = aTest123_RW,{CN =#   XXY22,} CN = aInternet-1

使用我原帖中描述的相同类型的技术,我需要获取仅包含字符串“aXYZApple”的所有字符串。  因此,基于以上所述,以下结果是我所追求的并且仅显示:

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

我不确定我是否仍需要在原始帖子中使用Oracle regexp_substr。

1 个答案:

答案 0 :(得分: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%';