【问题标题】:Retrieving certain strings within a string using Oracle SQL - Part 2使用 Oracle SQL 检索字符串中的某些字符串 - 第 2 部分
【发布时间】:2012-06-13 00:38:50
【问题描述】:

不幸的是,由于我的数据已根据我开始看到的原始线程发生更改,因此我现在尝试解决此问题时遇到了一些问题:

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。

【问题讨论】:

  • 我已经设法解决了这个问题 - 不再需要帮助。
  • 发布解决方案作为答案?
  • 正如@Pedantic 提到的 - 请发布解决方案作为答案。你可以稍后接受它
  • 道歉 - 请在下面查看我的回答。

标签: sql regex oracle plsql


【解决方案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-02-24
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    相关资源
    最近更新 更多