반응형
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를 콤마를 기준으로 나뉘어서 출력이 된다.
반응형
'Language > SQL' 카테고리의 다른 글
[SQL] MAX(), MIN() 함수 정리 (0) | 2022.08.31 |
---|---|
[SQL] SQL IN EXISTS 속도 차이 (2) | 2022.08.11 |
[SQL] SQL SELECT 쿼리문 실행순서 정리 (0) | 2022.07.17 |
[SQL] SQL 인덱스란? (3) | 2022.07.12 |
[SQL] SQL 옵티마이저란? (0) | 2022.07.10 |
[SQL] SQL 튜닝 유형 - 인덱스(Index) (0) | 2022.07.08 |
[SQL] SQL 쿼리를 짤 때 주의해야 하는 것들 (0) | 2022.07.07 |
[SQL] SQL 실행계획이란? (0) | 2022.07.07 |
최근댓글