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
不在'字符的开始和结束之间。
您可以使用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