이것도 생각보다 자주 사용하는 것 같다.
사용하다 보니 문자열 byte가 4000 기준으로 코드가 다르긴 한데, 난 그냥 4000바이트 이상 조회되는 것으로 대부분 처리한다.
1. 컬럼이 4000byte 이상인 경우
// 4000byte 이상
SELECT
SUBSTR(XMLAGG (XMLELEMENT(X,',', LEVEL ) ORDER BY LEVEL).EXTRACT('//text()'),2) CONTENTS
FROM DUAL
CONNECT BY LEVEL <= 10;
2. 컬럼이 4000byte 미만인 경우
// 4000byte 미만인 경우
SELECT
LISTAGG( LEVEL, ',') WITHIN GROUP(ORDER BY LEVEL) LISTS
FROM DUAL
CONNECT BY LEVEL <= 10
표현은 동일하지만, 2번째 방법으로 사용할 때는 작은 데이터로만 하길...