2017년 5월 24일 수요일

오라클 Oracle 콤마(,) 문자열을 행(row)으로 분리


컬럼에  'AAA,BBB,CCC,DDD' 라는 값이 있다면,

오라클 10G
Select Regexp_Substr('AAA,BBB,CCC,DDD','[^,]+', 1, Level) From Dual
Connect By Regexp_Substr('AAA,BBB,CCC,DDD', '[^,]+', 1, Level) Is Not Null


오라클 9i
SELECT     SUBSTR (TEST,
                   INSTR (TEST, ',', 1, LEVEL) + 1,
                   INSTR (TEST, ',', 1, LEVEL + 1) - INSTR (TEST, ',', 1, LEVEL)
                   - 1
                  ) AS ROWDATA
FROM (SELECT ',' || 'AAA,BBB,CCC,DDD' || ',' AS TEST
              FROM DUAL)
CONNECT BY LEVEL <= LENGTH (TEST) - LENGTH (REPLACE (TEST, ',')) - 1

결과




댓글 없음:

댓글 쓰기

스프링 빈 등록 순서 오류 시 @PostConstruct 사용

  스프링 xml 설정에서 등록할 빈을 명시적으로 지정한 것과 <context:component-scan>와 혼용해서 사용한  경우 빈등록 순서 오류가 발생 할 수도 있습니다. 여러가지 방법이 있지만, 그 중에서 @PostConstruct ...