多数情况下,我们会遇到需要正则表达式查询的情况。oracle的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作为一个包含多行的字符串。
这个例子是寻找员工中的80后的员工。
select * from emp where regexp_like(to_char(birthdate,’yyyy’),’^198[0-9]$’);
查询picpath字段匹配正则 ^([0,1],){2}0.*$ 的项
select * from salepic where regexp_like(trim(picpath),'^([0,1],){2}0.*$','n');
以此,举一反三,就能得到更多的查询语句!
欢迎光临流金岁月