한로우를 여러줄로 쪼개기 문의 0 2 1,548

by 파워간 [SQL Query] [2017.03.08 09:28:01]


구성된 테이블이 1 rows에 \n을 기준으로 여러 로우로 

구성되어 있을 경우 다음과 같은 패턴으로 쪼개는 방법이 있을거 같은데

생각이 나지 않아 문의 드립니다.

1 A
B
C
2 A
B
3 C
B
D

기존 3개의 row를 아래와같이 8개로 쪼개고 싶은데 간단한 Sample 부탁 드려용

1 A
1 B
1 C
2 A
2 B
3 C
3 B
3 D
by jkson [2017.03.08 09:56:56]
with t(gb, txt) as
(select '1',
'a
b
c' from dual union all
select '2',
'a
b
c' from dual
) 
select gb, regexp_substr(replace(txt,chr(10),'^'),'[^^]+',1,lv) txt
  from t
      ,(select level lv from dual connect by level <= 50)--개행 50번까지만
 where regexp_count(txt,chr(10)) >= lv - 1
 order by gb, txt

 

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