RegExp_Like

--基本用法,是否包含某字符串 =like %36%
select * from table where  regexp_like(字段名,'条件');
 
if regexp_like(str,'^[0-9\.]+$')  --只包含数字0-9,,小数点.
 
--oracle判断字段是否是纯数字 (四种写法结果一样)
select * from table where regexp_like(loginid,'^[0-9]+[0-9]$');
select * from table where regexp_like(loginid,'^[0-9]+$');   --'+' 匹配前面的子表达式一次或多次。
select * from table where regexp_like(loginid,'^[[:digit:]]+$');
select * from table where  not regexp_like(loginid,'[^0-9]');  --^表示排除
 
--不是0-9纯数字 (二种写法结果一样)
select * from table where  regexp_like(loginid,'[^0-9]');  --^表示排除
select * from table where not regexp_like(loginid,'^[[:digit:]]+$');
 
--判断字段中是否只包含0-9,-字符(二种写法结果一样)
select * from table where regexp_like(APPLICATION,'^[0-9]|[-]$');  --'|' 指明两项之间的一个选择。相当于or 例子'^([a-z]+|[0-9]+)$'表示所有小写字母或数字组合成的字符串。
select * from table where  regexp_like(APPLICATION,'[0-9-]');
 
--判断字段中是否只包含0-9,-字符, 或者空格 (五种写法结果一样)
select * from table where regexp_like(APPLICATION,'^[0-9]|[-]$') or regexp_like(APPLICATION,'^[ ]$');
select * from table where regexp_like(APPLICATION,'^[0-9]|[-]$|^[ ]$');  
select * from table where regexp_like(APPLICATION,'(^[0-9]|[-]$)|(^[ ]$)'); --'( )' 标记一个子表达式的开始和结束位置
select * from table where regexp_like(APPLICATION,'^[0-9]|[-]|[ ]$');
select * from table where  regexp_like(APPLICATION,'[0-9- ]'); 

举例:

select count(*) from table where itcode="10112255" and regexp_like(cr0024_003,'(营业|正常在业|开业)')

你可能感兴趣的:(Oracle)