with t as ( select '철수와 영희' v from dual union all select '영희와 철수' from dual union all select '영희수' from dual ) select * from t where regexp_count(v,'철수|영희') >= 2 -- 작동 --and regexp_count(v,'희수|영희') >= 2 -- 연결된 문자에 작동 안 함 with t as ( select '철수와 영희' v from dual union all select '영희와 철수' from dual union all select '영희수' from dual ) select v from t a , (select regexp_substr(txt, '[^,]+',1,level) subtxt from (select '영희,희수' txt from dual) connect by level <= regexp_count(txt,',') + 1) b where a.v like '%'||b.subtxt||'%' group by v having count(1) >= regexp_count('영희,희수',',') + 1