[Oracle]REGEXP_SUBSTR함수로.SPLIT하기
.. WITH X AS ( SELECT 'NAVER' AS USER_ID ,'NA1,NA2,NA3,NA4,NA5,NA6,' AS RE_CODE FROM DUAL UNION ALL SELECT 'NAVER1' AS USER_ID ,'NA7,NA8,NA9,NA10' AS RE_CODE FROM DUAL ) SELECT REGEXP_SUBSTR(A.RE_CODE, '[^,]+', 1, B.LV) AS RE_CODE FROM X A ,(SELECT LEVEL LV FROM DUAL CONNECT BY LEVEL <= 100) B WHERE 1 = 1 AND B.LV <= REGEXP_COUNT(A.RE_CODE, ',') + 1 AND UPPER(A.USER_ID) = 'NAVER' ; .
1. 테이블 X의 데이타
No | USER_ID |
RE_CODE |
1 | NAVER |
NA1,NA2,NA3,NA4,NA5,NA6, |
2 | NAVER1 | NA7,NA8,NA9,NA10 |
쿼리 실행 결과
No | RE_CODE |
1 | NA1 |
2 | NA2 |
3 | NA3 |
4 | NA4 |
5 | NA5 |
6 | NA6 |
7 |
'IT TIP > Oracle' 카테고리의 다른 글
오라클 테스트를 위한 자료테이블 DESC (0) | 2017.04.13 |
---|---|
sqlplus - 기초실습3 (0) | 2017.04.13 |
sqlplus - 기초실습2 (0) | 2017.04.13 |
sqlplus - 기초실습1 (0) | 2017.04.13 |
사용자정의 SPLIT함수. (0) | 2017.04.06 |
계층구조 START WITH...CONNECT BY (0) | 2017.04.06 |
프로시저내 다이나믹 SQL 예제1 (0) | 2017.04.05 |
그룹내 순위결정하는 함수 - ROW_NUMBER() ,RANK() ,DENSE_RANK() (0) | 2017.04.05 |
오라클 총정리 - DBA 문법 (0) | 2017.04.02 |
함수정리 (0) | 2017.04.02 |