关于Oracle REGEXP_COUNT函数用法总结

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

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

  1. 语法

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

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

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'参数即可:

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. #
相关文章
|
6月前
|
Oracle 关系型数据库 数据库
Oracle中merge Into的用法
Oracle中merge Into的用法
|
18天前
|
SQL Oracle 关系型数据库
[Oracle]面试官:你举例几个内置函数,并且说说如何使用内置函数作正则匹配
本文介绍了多种SQL内置函数,包括单行函数、非空判断函数、日期函数和正则表达式相关函数。每种函数都有详细的参数说明和使用示例,帮助读者更好地理解和应用这些函数。文章强调了字符串操作、数值处理、日期计算和正则表达式的使用方法,并提供了丰富的示例代码。作者建议读者通过自测来巩固学习成果。
15 1
[Oracle]面试官:你举例几个内置函数,并且说说如何使用内置函数作正则匹配
|
1月前
|
SQL 存储 Oracle
Oracle用法
【10月更文挑战第15天】Oracle用法
37 5
|
4月前
|
SQL Oracle 算法
|
6月前
|
SQL 存储 Oracle
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法(上)
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法
|
4月前
|
SQL Oracle 关系型数据库
|
4月前
|
SQL Oracle 关系型数据库
Oracle|内置函数之INSTR
【7月更文挑战第5天】
|
4月前
|
Oracle 关系型数据库 数据挖掘
|
4月前
|
Oracle 关系型数据库 Java
Oracle数据库导入工具IMP详解与用法
Oracle数据库导入工具IMP详解与用法
|
4月前
|
Oracle 关系型数据库 数据挖掘