다음과 같은 데이터 에서
SELECT 'AAA|BBB|CCC' COL
UNION ALL
SELECT 'DDD|EEE'
)
SELECT *
FROM TEST_DATA
;
아래와 같은 결과 값으로 변환 하고자 합니다.
도무지 모르겠습니다. ㅜㅜ
고수님들 알려 주시면 감사하겠습니다.
WITH test_data AS ( SELECT 'AAA|BBB|CCC' col UNION ALL SELECT 'DDD|EEE' ) , t1 AS ( SELECT col + '|' col , 1 s , CHARINDEX('|', col + '|', 1) e FROM test_data UNION ALL SELECT col , e + 1 s , CHARINDEX('|', col, e + 1) e FROM t1 WHERE CHARINDEX('|', col, e + 1) > 0 ) SELECT SUBSTRING(col, s, e - s) col FROM t1 ORDER BY col ;
마농님 너무 감사드립니다. 하나 하나 잘 살펴 보겠습니다. ^^