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



不幸的是,我现在遇到了一些问题,因为我的数据已根据我开始看到的原始线程进行了更改:

使用 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。

基于更新数据集的我自己的问题的解决方案如下,这几乎是基于我原始问题中提供给我的解决方案,即:

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%';

最新更新