본문 바로가기

개발하자/ORACLE

REGEXP_SUBSTR sql에서 특정문자열로 구분자 자른 목록생성

SELECT
REGEXP_SUBSTR ( '149/148/146/147/' /**P*/,
'[^/]+',
1,
LEVEL )
FROM
DUAL CONNECT
BY
LEVEL <= REGEXP_COUNT ( '149/148/146/147/' /**P*/,
'/' )
아래와 같은 쿼리로도 같은결과 도출가능
SELECT 
DISTINCT REGEXP_SUBSTR('149/148/146/147/','[^/]+', 1, LEVEL)
FROM DUAL
CONNECT BY
LEVEL <= LENGTH(REGEXP_REPLACE('149/148/146/147/', '[^/]+', ''));