--基本用法,是否包含某字符串 =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,'(营业|正常在业|开业)')