한 칼럼에 값을 복수개의 ROW로 바꾸기 0 2 856

by axelhoon [SQL Query] [2018.02.27 19:53:45]


안녕하세요 

아래와 같은 데이터가 있는 경우

SELECT 'AA' AS ID, '11,22,33' AS COL
FROM DUAL;

한개의 칼럼안에 콤마(,)로 여러개 값을 ROW 형태로 바꿀수 있는지 질문드립니다.

ID   COL
--- --------
AA  11
AA  22
AA  33

해당 칼럼에 콤마(,)는 0 개 부터 최대 7개 , 즉 ROW로 변환하면, 1개에서 8개의 ROW 생성되길 원합니다.

 

감사합니다.

 

by 무지버기 [2018.02.28 07:55:44]

http://www.gurubee.net/article/55635

참고하시면 됩니다


by 우리집아찌 [2018.02.28 08:58:05]
WITH T AS (
SELECT 'AA' AS ID, '11,22,33' AS COL FROM DUAL
)

SELECT A.ID , REGEXP_SUBSTR(COL , '[^,]+' , 1 , LV ) COL
  FROM T A
     , (SELECT LEVEL LV FROM DUAL CONNECT BY LEVEL <= 8) B
 WHERE LV <= REGEXP_COUNT(COL,',') + 1  

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입