오라클 정규식을 보고 있는데 아래 쿼리 작동원리가 궁금합니다.
WITH T AS (
SELECT 'AE123' COLA FROM DUAL UNION ALL
SELECT 'Aeou123' COLA FROM DUAL UNION ALL
SELECT '123AEGHT' COLA FROM DUAL UNION ALL
SELECT 'AE123uuuET' COLA FROM DUAL UNION ALL
SELECT '12AAEee123' COLA FROM DUAL
)
SELECT *
FROM T
WHERE 1=1
AND REGEXP_LIKE(COLA,'([aeiou])\1','i')
위 쿼리를 실해하면 같은 모음이 두번이상 반복되는 데이타가 검색되는데 이게 어떻게 작동하는 건가요?
해석 좀 해 주실분.....
1 2 3 4 5 6 7 8 9 10 11 12 | 말그대로 문자한개를 말하는겁니다. 아래와 같이 []를 빼고 조회해보면 'aeiou' 문자열 전체가 반복된 패턴만 조회됨을 확인할 수 있습니다. WITH T AS ( SELECT 'aeiouaeiou' COLA FROM DUAL UNION ALL -- 조회됨 SELECT 'aeiouaeio' COLA FROM DUAL UNION ALL -- 조회안됨 SELECT 'aa' COLA FROM DUAL -- 조회안됨 ) SELECT * FROM T WHERE 1=1 AND REGEXP_LIKE(COLA, '(aeiou)\1' , 'i' ) |