发布网友 发布时间:2022-04-26 01:13
共7个回答
热心网友 时间:2022-04-09 22:33
select t.* from t1 t where regexp_like(t.str,'[ac]');
oracle中的函数regexp_like,很好用的哦,其中[ac]为正则表达式,意思是,在str字段的数据里,匹配有包含a或者c的数据。具体请在网上查询oracle数据库中regexp_like函数的应用,希望能帮助你。
追问查询结果不够精确,因为如果是字符串是a01,c02,就会查到不匹配的数据,后面的正则式该怎么写
追答这是可以的啊,[ac]正则表达式的意思是,在所有的字符串中找到包含有a或者c的的字符串,如果字符串中有大写的那么就改成[aAcC]就可以了。
热心网友 时间:2022-04-09 23:51
简单点就是这样:
select str from t1 where instr(str,'a')>0 or instr(str,'c')>0 or instr(str,',')>0) ;
或者使用正则表达式
select str from t1 where regexp_like(t.str,'[a,c]');
热心网友 时间:2022-04-10 01:25
select * from T1 where ','||str||',' like '%,a,%' or ','||str||',' like '%,c,%'
热心网友 时间:2022-04-10 03:17
select * from t1 where str like'%a%' or str like'%c%'
热心网友 时间:2022-04-10 05:25
select * from T1 where str like %a,c%;
热心网友 时间:2022-04-10 07:49
select * from t1 where instr(str,'a,c')>0
热心网友 时间:2022-04-10 10:31
select t1.str
from t1
where exists
(select 1
from (select REGEXP_SUBSTR('a,c', '[^,]+', 1, level) base
from al
connect by rownum <=
length('a,c') - length(replace('a,c', ',', '')) + 1)
where instr(',' || t1.str || ',', ',' || base || ',') > 0)