Mo!
(SQL) 정규식 regexp_count() Oracle 본문
SQL

(SQL) 정규식 regexp_count() Oracle

5사 2021. 12. 13.

정규식 함수는 비정형화된 데이터를 전처리하는데 유용하다

regexp_count는 특정 단어나 철자가 몇 번 반복되는지 확인할 수 있는 함수

 

 

select regexp_count('11232323982049 2394801123802112 2380112309 1209809112229', '112') as cnt
from dual;

 

-- 숫자로 이루어진 긴 문장에서 112가 몇 번 반복되어 나오는지 확인할 수 있다

-- 출력 결과 => 5

 

select regexp_count('alekjfoslakjfd dkfjseojale adskjfealeerw adsfkjdsjaleale dkfjalewoidfiu aelfkjse aledfe',   'ale') as cnt
from dual

 

-- 출력 결과 => 7

 

 

ex) 1부터 10000까지 2라는 숫자는 총 몇 번 나올까?

* 2 - 1번, 12 - 1번, 122 - 2번이다

 

select sum(regexp_count(level, 2)) as cnt
from dual
connect by level <= 10000;

 

-- level을 10000까지 출력되게 한 후 정규식을 사용하여 숫자별로 2가 몇 번 나오는지를 찾은 다음 sum 해준다

 

 

 

Comments