안녕하세요.
오라클 중초보입니다.
REGEXP_LIKE를 사용하는데 CASE를 여럿 만들어 사용하다보니 한계가 있어 문의 드립니다.
현재 컬럼에 '주소'를 포함한 값 중 IP주소 는 제외하여 CASE 문의 'OK'를 출력 하고 싶은데
좀처럼 되지가 않습니다. AND NOT 조건을 추가 하여 풀고 싶으나 CASE가 100여개가 되며 공통으로 돌아가 작성되는 프로그램이라 AND NOT 조건은 넣을수가 없는 상황입니다.
아래의 데이터 예로 작성해보았습니다.
SELECT CASE WHEN REGEXP_LIKE('IP주소','(?!IP)주소') THEN 'OK' ELSE 'FAIL' END FROM DUAL -- OK가 나와야함
UNION ALL
SELECT CASE WHEN REGEXP_LIKE('집주소','(?!IP)주소') THEN 'OK' ELSE 'FAIL' END FROM DUAL -- FAIL이 나와야함
그런데 위를 실행해보면 모두 FAIL이 나옵니다. (?!IP) 가 NOT IP 조건이 아니라는건데 혹시 해당 조건은 정규식으로 어떻게 풀어야 할까요?
정규표현식은 너무 어렵네요.
혹시나 위의 정규표현식 NOT 조건 케이스를 경험해 보신분이 있으면 알려주셨으면 합니다.
감사합니다.
|