今日份知识学习
今天我们来学习regexp系列函数,其实就是通过正则来匹配不同的内容,然后做不同的一些操作,文章会通过不同的例子来解释几种regexp函数的使用,下面一起来看看吧。
具体讲解
regexp_count
regexp_count函数,可以计算出内容中某个特定字符出现的次数,比如下面这个SQL:
select regexp_count(name, '张') from user_table where name = '张三';
此SQL所执行的结果是1,因为在其内容中,只存在了一个张字。
此函数我们在日常开发中的使用虽然不是很频繁,但又是比较重要的知识点了。
regexp_replace
regexp_replace函数,从名称上来看,replace替换,regexp_replace替换函数就是有规则的替换,其实我们通过replace函数,或者是translate函数就可以完成替换。
regexp_replace函数相对于其他的替换函数而言,会更灵活,其中传入的参数可以指定一些自定义的规则。
比如下面的示例SQL:
select regexp_replace(name, '\[张]') from user_table where name = '张三'
执行上述SQL的结果就是将张三,更换成了三,因为没有输入第三个参数,此函数就将所匹配的字符直接删掉了。
regexp_like
regexp_like函数,从名称看就知道是模糊查询,在日常开发中最常用的就是用这个函数来替换多个like条件出现的情况。
比如下面这个示例:
select name from user_table where regexp_like(name, '\[张李]')
以上结果会查询出name字段包含张、李的数据。
等于同如下SQL效果:
select name from user_table where name like '%张%' or name like '%李%'
总结
今天学习了regexp系列的函数,大家是否有一些收获呢?尤其是regexp_like,在我们日常开发中使用尤为频繁。
最近开始来学习Oracle数据库的一些知识,其中包含一些函数的使用,或者是特性的介绍讲解等,将会在系列文章内说到。
喜欢的可以关注一下专栏。