구분값은 , 로 문자열마다 구분이 되구요 특정 문자열 예) naver.com 외의 값이 들어간 경우를 확인하고싶습니다.
naver.com 이 있어도 naver.com 외의 값이 있다면 추출되야하고
naver.com 이 없는 상태에서 naver.com 외의 값이 있다면 추출되야합니다.
단순 LIKE 문 만으로는 어려울것같아서요..;;
split으로 자른뒤 비교를 해야하나 고민이네요..
추출되야하는 예
1.naver.com,gmail.com,hanmail.net
2.gmail.com,hanmail.net
테이블명은 email 컬럼명은 email_addr
답변 부탁드립니다.
with t as ( select 'naver.com,gmail.com,hanmail.net' email_addr from dual union all select 'gmail.com,hanmail.net' from dual union all select 'naver.com' from dual union all select '' from dual ) select * from t where email_addr != 'naver.com' with t as ( select 'aaa@naver.com,aaa@gmail.com,aaa@hanmail.net' email_addr from dual union all select 'aaa@gmail.com,aaa@hanmail.net' from dual union all select 'aaa@naver.com' from dual union all select 'naver.com,gmail.com,hanmail.net' email_addr from dual union all select 'gmail.com,hanmail.net' from dual union all select 'naver.com' from dual union all select '' from dual union all select 'aaa@naver.com,naver.com,bbb@naver.com' from dual ) select * from t a where regexp_replace(email_addr,'[^,]*naver.com|,') is not null