ORACLE 10G支持正则表达式

本文介绍了 Oracle 10G 中支持的正则表达式函数,包括 REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR 和 REGEXP_REPLACE。这些函数与 LIKE、INSTR、SUBSTR 和 REPLACE 功能类似,但在复杂匹配情况下提供了更多灵活性。文章还讨论了使用正则表达式进行查询时的性能考量。

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没法做,最好慎用正则,多数情况是全表扫描.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值