[英]oracle sql navigator data-mining text-mining
我该如何搜索,假设数据库中的FORMULA_TEXT
字段位于'
开头和结尾字符之间,我们有#
或@
例如@A'123'HEY'345''@B'K
因此,在这个例子中,我们有123
, 345
和@B
在开始和结束之间'
字,所以我想用sql找到这些。 每条记录可以说我有这个FORMULA_TEXT
申请,我会检查它是否包含@
或#
在启动和与之间的'
性格。
所以在我的示例中结果是@B
顺便说一句,如果它太硬,我可以先找到@
秒,然后#
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.