ORACLE 10G中的支持正则表达式的函数主要有下面四个:
1
,
REGEXP_LIKE
:与
LIKE
的功能相似
2 , REGEXP_INSTR :与 INSTR 的功能相似
3 , REGEXP_SUBSTR :与 SUBSTR 的功能相似
4 , REGEXP_REPLACE :与 REPLACE 的功能相似
用了一下
REGEXP_LIKE,虽然是一个很简单的正则,但还是比like略慢一点.这个当然要视情况了,影响的因素也有很多.如果在like不好做的时候可以考虑用正则来做.不过肯定得测试一下性能.比如对于 like '%abc%'时,查询是不会走索引的,当然可以考虑用正则,如果是 like'abc%' 会走索引,当然具体还要看数据集了.不确定正则是否也走索引,有些情况也不是不能走的,比如 '^abc/w+',理论上应该是跟like 'abc%' 一个道理.因为是以abc为开头的,相当于左边没有通配符.还是坚持认为,除非 like没法做,最好慎用正则,多数情况是全表扫描.
本文介绍了 Oracle 10G 中支持的正则表达式函数,包括 REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR 和 REGEXP_REPLACE。这些函数与 LIKE、INSTR、SUBSTR 和 REPLACE 功能类似,但在复杂匹配情况下提供了更多灵活性。文章还讨论了使用正则表达式进行查询时的性能考量。
590

被折叠的 条评论
为什么被折叠?



