oracle中正则表达式相关函数regexp_like简介

前面介绍了oracle中正则表达式构成的元数据,但仅仅知道元数据是不够的,oracle中的正则表达式是结合其特定的4个函数使用的,其中用的最多的就是现在要介绍的的这个函数:regexp_like

regexp_like函数的基本构成是:
regexp_like(x,pattern[,match_option])
其基本功能是在x中查找pattern,如果能找到返回true否则返回false,这里的可选参数match_option可以有如下几种形式:

  1. ‘c’ 表明进行匹配时区分大小写(这也是默认选项)。
  2. ‘i’  表明在匹配时不区分大小写。
  3. ‘n’ 表明允许使用匹配任何字符串的元数据,即’.'。
  4. ‘m’将x作为一个包含多行的字符串。

以下是两个关于regexp_like的例子:
这个例子是寻找员工中的80后的员工。
select * from emp where regexp_like(to_char(birthdate,’yyyy’),’^198[0-9]$’);
这个例子是寻找名字是以’M'或者’m'打头的那些员工的名字
select * from emp where regexp_like(ename,’^j’,'i’)

时间: 2024-08-03 18:14:05

oracle中正则表达式相关函数regexp_like简介的相关文章

Oracle中OSFA和数据仓库简介

Oracle Financial Services Application(简称OFSA)技术平台:包括Oracle Warehouse Builder数据仓库构建工具.Oracle8i数据库.Oracle Express多维数据库.Common Warehouse Metadata通用数据仓库元数据管理工具.Oracle Internet Develop Suites商业智能工具集(查询.报表.多维分析.数据挖掘).Oracle Data Mart Suites数据集市套件. 中国的银行业在发

oracle 10g正则表达式REGEXP_LIKE用法详解

ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR的功能相似 4,REGEXP_REPLACE :与REPLACE的功能相似 它们在用法上与Oracle SQL 函数LIKE.INSTR.SUBSTR 和REPLACE 用法相同, 但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符. POSIX 正则表达式由标准的

Oracle中like效率正则表达式浅析

Oracle 中like常用但是其效率不是高.   特别是使用%a%----->全局扫描,没有利用到任何索引.   情况可以的条件尽量下使用a%------>可以利用正序的索引.                           %a------>可以利用反序的索引(当然得已有反序的索引). 使用instr函数取代like查询,可提高效率,在海量数据中效果尤其明显. 1.%a%方式: select * from pub_yh_bm t where instr(t.chr_bmdm,'2

Oracle中REGEXP_SUBSTR及其它支持正则表达式的内置函数小结

Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下:在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20','23'的集合. REGEXP_SUBSTR函数格式如下:function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)__srcstr :需要进行正则处理的字符串__pattern :进行匹配的正则表达式,匹配的值将返回,返回策略由__occurrence决定__po

oracle中的正则表达式函数regexp_instr

前面我们介绍了oracle中的正则表达式组常用的一个函数regexp_like,这里我们在介绍一个函数regexp_instr.这个正则表达式函数用的不如前一个多,但也会偶尔会用到.这个函数其实与我们前面曾介绍的instr函数其实相似. regexp_instr的原型如下: regexp_instr(x,pattern[,start[,occurrence[,return_option[,match_option]]]]) 这里每个参数分别含义如下: x  待匹配的字符串 pattern 待匹配

ORACLE 常用正则表达式详解

  Oracle使用正则表达式离不开这4个函数: 1.regexp_like 2.regexp_substr 3.regexp_instr 4.regexp_replace 看函数名称大概就能猜到有什么用了. regexp_like 只能用于条件表达式,和 like 类似,但是使用的正则表达式进行匹配,语法很简单: regexp_substr 函数,和 substr 类似,用于拾取合符正则表达式描述的字符子串,语法如下: regexp_instr函数,和 instr 类似,用于标定符合正则表达式

Oracle中判断字段是否为数字_oracle

在我们平常的开发中可能会遇到这样的问题,就是判断某一列是否全部由数字组成,我们都知道oracle并没有给我们提供这样一个现成的函数,那么根据我的经验我总结了两个行之有效的方法(列名:column,表名:table): 1.使用trim+translate函数: 复制代码 代码如下: select * from table where trim(translate(column,'0123456789',' ')) is NULL; 这里要注意的是:translate函数的第三个参数是一个空格,不

在Oracle中,如何判断一个字符串是否为数字?

在Oracle中,如何判断一个字符串是否为数字? 可以有2种办法来判断,第一种办法为REPLACE加TRANSLATE函数,在程序中可以直接使用"TRANSLATE(REPLACE('入参','.',''),'/1234567890','/') IS NULL"来判断入参为数字,缺点是,若入参有2个小数点或含有加减号则不能判断.第二种办法为使用TO_NUMBER或REGEXP_LIKE来自定义函数进行判断. 第一种办法示例: SYS@PROD1> SELECT   2     N

oracle的正则表达式

下面通过一些例子来说明使用正则表达式来处理一些工作中常见的问题. 1. REGEXP_SUBSTR REGEXP_SUBSTR 函数使用正则表达式来指定返回串的起点和终点,返回与source_string 字符集中的VARCHAR2 或CLOB 数据相同的字符串. 语法: --1.REGEXP_SUBSTR与SUBSTR函数相同,返回截取的子字符串 REGEXP_SUBSTR(srcstr, pattern [, position [, occurrence [, match_option]]]