안녕하세요?
컬럼하나의 결과를 두컬럼으로 나누고 싶습니다. 나누는 기준은 5개씩 자르고 싶습니다. (넘치거나 부족해도 두컬럼으로만 나누어 담고싶습니다.)
SELECT '1X 2X 3X 4X 5X 6X 7X 8X 9X 10X 11X 12X 13X 14X 15X 16X' AS COL1 FROM DUAL; | |
결과 => | |
컬럼1 | 컬럼2 |
1X 2X 3X 4X 5X | 6X 7X 8X 9X 10X |
SELECT '1X 2X 3X 4X 5X 6X 7X 8X 9X' AS COL1 FROM DUAL; | |
결과 => | |
컬럼1 | 컬럼2 |
1X 2X 3X 4X 5X | 6X 7X 8X 9X |
SELECT '1X 2X 3X' AS COL1 FROM DUAL; | |
결과 => | |
컬럼1 | 컬럼2 |
1X 2X 3X |
WITH t AS ( SELECT '1X 2X 3X 4X 5X 6X 7X 8X 9X 10X 11X 12X 13X 14X 15X 16X' col1 FROM dual UNION ALL SELECT '1X 2X 3X 4X 5X 6X 7X 8X 9X 10X' FROM dual UNION ALL SELECT '1X 2X 3X 4X 5X 6X 7X 8X 9X' FROM dual UNION ALL SELECT '1X 2X 3X' FROM dual UNION ALL SELECT '1X' FROM dual ) SELECT col1 , SUBSTR(col1, 1, v1 - 1) x1 , SUBSTR(col1, v1 + 1, v2 - v1 - 1) x2 FROM (SELECT col1 , INSTR(col1||' ', ' ', 1, 5) v1 , INSTR(col1||' ', ' ', 1, 10) v2 FROM t ) ;
보여주신 자료가 원본이 아닌 가공된 결과라면?
(원본 > 1차가공 > 2차가공 > 결과) 형태로. 가공된걸 또 가공하는 2차 가공방식을 생각하기 보다는.
(원본 > 직접가공 > 결과) 형태로. 직접 추출하는 새로운 방법을 찾는 것이 더 효율적일 수 있습니다.