正则表达式(_ % regexp_like)

'[^.0-9]'——不含小数点和数字的字符串,^在中括号内表非

select '123' aa from dual where regexp_like( '123', '[^.0-9]' ) --没有记录,不存在子集(无论是一参对二参,还是二参对一参)
select '123' aa from dual where regexp_like( '123b', '[^.0-9]' ) --有记录 regexp_like( '123b', 'b' )
select '123' aa from dual where regexp_like( 'abc', '[^.0-9]' ) --有记录regexp_like( '123b', 'b' )

^在中括号外 表字符串以xx开头

select '123' aa from dual where regexp_like( '1b' ,'^1[2b]' ,'i' ); --有记录,序列中的一个, 查询以12开头的记录.不区分大小写。
select '123' aa from dual where regexp_like( '1b' ,'^12|b' ,'i' ); --有记录,两者中的一个, 查询以12或者1b开头的记录.不区分大小写。

例子:商户名中含有数字的情况

select *
from nac_user.t_r_merchant tr
where tr.rm_status = '1'
and regexp_like(tr.rm_merchname, '[0-9]')
order by tr.rm_merchname

 

原文地址:https://www.cnblogs.com/bitter-first-sweet-last/p/3973541.html