oracle中字母A或B是否包含在字符串中

drop table cs_thz_1 ;

create table cs_thz_1(   nid number(10)   ,sname varchar2(100)   ,remark varchar2(200)    ) ;

truncate table cs_thz_1;

insert into cs_thz_1(nid,sname,remark)

select 1 nid,'小汽车' sname,'A' remark from dual union all

select 2 nid,'摩托' sname,'MNP' remark from dual union all

select 3 nid,'自行车' sname,'BD' remark from dual union all

select 4 nid,'拖拉机' sname,'MND' remark from dual union all

select 5 nid,'卡车' sname,'EF' remark from dual union all

select 6 nid,'起重机' sname,'PX' remark from dual ;

commit;

---含P或E或B的字符

select t.*,case when regexp_like(remark,'[PEB]') then 1 else 0 end is_del from cs_thz_1 t ;

---不含P或E或B的字符

select t.* from cs_thz_1 t where case when regexp_like(remark,'[PEB]') then 1 else 0 end=0 ;

---以A或B开头

select * from cs_thz_1 where regexp_like(remark,'^[AB]') ;

 

---以A或C结尾

select * from cs_thz_1 where regexp_like(remark,'[CA]$') ;

 

---含A或N的字符

select * from cs_thz_1 where regexp_like(remark,'[AN]') ;

posted @ 2018-08-29 17:59  江清风  阅读(721)  评论(0编辑  收藏  举报