关于Oracle REGEXP_COUNT函数用法总结

简介: 关于Oracle REGEXP_COUNT函数用法总结

REGEXP_COUNT 统计字符出现的次数函数,Oracle11g后引入了此函数。

  1. 语法

REGEXP_COUNT (source_char, pattern [, position [, match_param]])

 示例,使用LENGTH( )组合REGEXP_COUNT函数实现统计字符'#'出现的次数:
AI 代码解读

SELECT REGEXP_COUNT('00000000,11000000,11011200,#1101127200,1101127201,1101127202,#1101127203','#') COUNT FROM DUAL;

SELECT LENGTH(REGEXP_REPLACE('00000000,11000000,11011200,#1101127200,1101127201,1101127202,#1101127203','1+')) COUNT FROM DUAL;

  1. 大小写字符统计
    REGEXP_COUNT默认区分大小写统计,等同于全参形式:

SELECT REGEXP_COUNT('00000000,11000000,11011200,#A1101127200,1101127201,1101127202,#1101127203','a',1,'c') COUNT FROM DUAL;

 区分大小写敏感统计,启用'i'参数即可:
AI 代码解读

SELECT REGEXP_COUNT('00000000,11000000,11011200,#A1101127200,1101127201,1101127202,#1101127203','a',1,'i') COUNT FROM DUAL;

  1. 从指定位置查找
    REGEXP_COUNT倒数第二个参数表示开始检索关键字的位置,如下:

SELECT REGEXP_COUNT('00000000,11000000,11011200,#A1101127200,1101127201,1101127202,#1101127203','a',30,'i') COUNT FROM DUAL;

REGEXP_REPLACE函数
另一种方式,可通过REGEXP_REPLACE函数匹配正则表达式实现,如下统计字符'#'出现的次数:

SELECT LENGTH(REGEXP_REPLACE('00000000,11000000,11011200,#1101127200,1101127201,1101127202,#1101127203','1+')) COUNT FROM DUAL;


  1. #
目录
打赏
0
0
0
0
28
分享
相关文章
【YashanDB知识库】Oracle pipelined函数在YashanDB中的改写
【YashanDB知识库】Oracle pipelined函数在YashanDB中的改写
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
本文来自YashanDB官网,介绍如何处理Oracle客户端sql*plus中使用@@调用同级目录SQL脚本的场景。崖山数据库23.2.x.100已支持@@用法,但旧版本可通过Python脚本批量重写SQL文件,将@@替换为绝对路径。文章通过Oracle示例展示了具体用法,并提供Python脚本实现自动化处理,最后调整批处理脚本以适配YashanDB运行环境。
[Oracle]面试官:你举例几个内置函数,并且说说如何使用内置函数作正则匹配
本文介绍了多种SQL内置函数,包括单行函数、非空判断函数、日期函数和正则表达式相关函数。每种函数都有详细的参数说明和使用示例,帮助读者更好地理解和应用这些函数。文章强调了字符串操作、数值处理、日期计算和正则表达式的使用方法,并提供了丰富的示例代码。作者建议读者通过自测来巩固学习成果。
55 1
[Oracle]面试官:你举例几个内置函数,并且说说如何使用内置函数作正则匹配
|
5月前
|
Oracle用法
【10月更文挑战第15天】Oracle用法
69 5
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法(上)
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法

热门文章

最新文章

推荐镜像

更多