[Query]하나의 컬럼값을 여러ROW로 표시할려고 합니다. 0 2 12,502

by 한재우 [SQL Query] [2011.09.30 09:20:22]



안녕하세요.

즐거운 금요일 오전입니다.

현재 ORACLE 11gR2를 사용 중입니다.

SELECT 'A,B,CD,...'  as VAL
  FROM DUAL;

위의 SQL에서 VAL값을 아래와 같은 결과값으로 보기를 원합니다.

( VAL은 가변적이고 ","를 기준으로 ROW를 변경합니다. )

VAL
-------
A
B
CD
.
.

위와 반대개념의 여러ROW를 하나의 컬럼으로 표현하는 함수(WM_CONCAT, LISTAGG)는 있는데 위와 같은 경우는 어떻게 해결해야 할까요?
by 봉 [2011.09.30 10:02:43]
WITH TEMP AS
(
SELECT 'A,B,CD' AS VAL FROM DUAL
)
SELECT REGEXP_SUBSTR(VAL, '[^,]+', 1, LEVEL)
FROM TEMP
CONNECT BY LEVEL <= REGEXP_COUNT(VAL, ',') + 1

by 한재우 [2011.09.30 10:34:47]
봉님 답글 감사합니다.
덕분에 해결했습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입