WITH TMP
AS
( SELECT 'A,B,C,D' CD FROM DUAL UNION ALL
SELECT 'E,F,G' CD FROM DUAL UNION ALL
SELECT '1,2,3,4,5,6' CD FROM DUAL UNION ALL
SELECT 'T1,T2' CD FROM DUAL UNION ALL
SELECT 'S1,S2,S3' CD FROM DUAL
)
질문드립니다. 로우 하나일때는 열에 콤마를 구분으로 잘라서 행으로 만드는게 가능한데.. 여러행의 문자열을 콤마로 잘라서
뿌려주는게 좀 잘안되네요... 응용이 어렵네요 이것저것 찾아보고 해봐도 도통...ㅠㅠ
아시는분 도움주시면 감사하겠습니다.
CD의 문자열은 콤마로 구분되며 N개일수있습니다. 20개 이하.
10g 구요
원하는결과는 아래처럼 행으로 만들고 싶습니다.
=====================================
A
B
C
D
E
F
G
1
2
3
4
5
6
.
.
생략
with tmp as ( select 'a,b,c,d' cd from dual union all select 'e,f,g' cd from dual union all select '1,2,3,4,5,6' cd from dual union all select 't1,t2' cd from dual union all select 's1,s2,s3' cd from dual ) select regexp_substr(cd,'[^,]+',1,lv) cd from tmp a ,(select level lv from dual connect by level <= 20) where length(cd) - length(replace(cd,',','')) + 1 >= lv order by cd