Oracle SQL导航器数据挖掘文本挖掘

本文关键字:数据挖掘 文本挖掘 导航 SQL Oracle | 更新日期: 2023-09-27 18:16:38

如何在数据库中搜索例如FORMULA_TEXT字段,在'的开始和结束字符之间我们有#@

例如@A'123'HEY'345''@B'K

所以在这个例子中,我们有123, 345@B'字符的开始和结束之间,所以我想用sql找到这些。让我们说,在每条记录中,我有这个FORMULA_TEXT文件,我将检查它是否包含@#在开始和'字符之间。

在我的例子中结果是@B

顺便说一下,如果太难的话,我可以先找到@ s,然后找到# s,它们在开始和结束'字符

在我的例子中,

ps: HEY不在'字符的开始和结束之间。

Oracle SQL导航器数据挖掘文本挖掘

您可以使用REGEXP_SUBSTR:

SQL> SELECT txt, regex, regexp_substr(txt, regex, 1, 1, 'c', '3') result
  2    FROM (SELECT q'¤@A'123'HEY'345''@B'K¤' txt,
  3                 q'¤^([^']*|('[^']*')*?)*?'([^']*[@#][^']*)'¤' regex
  4            FROM dual);
TXT                  REGEX                                    RESULT
-------------------- ---------------------------------------- ---------
@A'123'HEY'345''@B'K ^([^']*|('[^']*')*?)*?'([^']*[@#][^']*)' @B