반응형

REGEXP_SUBSTR 함수는 INSTR 함수를 정규식으로 사용할 수 있게 만들어진 함수다. 그래서, 이 REGEXP_SUBSTR 함수를 정리하려고 한다. 기본적인 것은 제외 하고 예시를 이용하여 기록한다.

 

SELECT REGEXP_SUBSTR('A,B,C','[^,]+', 1, LEVEL) TEMP FROM DUAL
CONNECT BY REGEXP_SUBSTR('A,B,C', '[^,]+', 1, LEVEL) IS NOT NULL;

 

위의 쿼리가 있다. 위의 쿼리는 REGEXP_SUBSTR 함수와 LEVEL, CONNECT BY를 사용했다. LEVEL과 CONNECT BY는 한 쌍이라고 생각하면 좋다. 먼저, 위의 REGEXP_SUBSTR() 함수를 설명한다.

 

아래의 쿼리는 데이터 'A,B,C'가 있는데, 콤마를 기준으로 나눌 것이다. 근데, 나눈 다음 첫 번째에 있는 것을 가져올 것이다. 언제까지? 맨 밑에까지. 즉, LEVEL은 각 데이터들의 계층을 나타낸다. for 문에서 사용하는 변수인 i라고 생각하면 된다.

REGEXP_SUBSTR('A,B,C','[^,]+', 1, LEVEL)

 

그래서, 맨 위의 쿼리를 실행하면, 아래와 같이 A, B, C를 콤마를 기준으로 나뉘어서 출력이 된다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기