데이터베이스/Oracle SQL

오라클 SQL과 PL/SQL ( 정규식 / REGEXP_COUNT )

동띠기 2021. 7. 27. 21:45

REGEXP_COUNT는 11g에서 추가된 정규식 함수 입니다. REGEXP_COUNT는 특정 문자의 개수를 세는 함수 입니다.

예제로 알아보도록 하겠습니다.

 

예제 1.  주어진 문자열에서 대문자 'A'가 몇 개인지 찾으세요.

더보기

SELECT TEXT, REGEXP_COUNT(TEXT, 'A') FROM T_REG ;

 

예제 2. 검색 위치를 3으로 지정해서 3번째 문자 이후 부터 소문자 'c'가 나오는 개수를 세는 예제

더보기

SELECT TEXT, REGEXP_COUNT(TEXT, 'c', 3) FROM T_REG ;

 

예제 3. i 옵션으로 대 소문자 구분 없이 몇개인지 알아보는 예제

더보기

SELECT TEXT, REGEXP_COUNT(TEXT, 'c') "result 1", REGEXP_COUNT(TEXT, 'c', 1, 'i') "result 2"
FROM T_REG ;

 

예제 4. 탈출문자를 사용하는 예

더보기

SELECT  TEXT,
REGEXP_COUNT(TEXT, '.') "RESULT 1",
REGEXP_COUNT(TEXT, '\.') "RESULT 2"
FROM T_REG;

RESULT 1은 .이 모든것으로 인식이 되어 결과가 출력이 되었고
RESULT 2는 .으로 인식이되어서 그에 맞게 결과를 출력하였다.

 

예제 5. 어떤 문자를 검색할 때 사용하는 3가지 방법 예시.

더보기

SELECT  TEXT,
REGEXP_COUNT(TEXT, 'aa') "RESULT 1",
REGEXP_COUNT(TEXT, 'a{2}.') "RESULT 2",
REGEXP_COUNT(TEXT, '(a)(a)') "RESULT 3"
FROM T_REG;

모두 동일한 결과 입니다.

728x90