티스토리 뷰

간혹 업무를 처리하다보면 콤마(,)나 슬래시(/) 등으로 구분된 문자열을 행으로 분리해야하는 경우가 있습니다.

오라클 10g에서는 관련 함수(Regexp_Substr)를 제공하고 있지만 9i이하에서는 쿼리를 작성하여 처리해야 합니다.


문자열에  'A, B, C, D' 가 들어있는 경우,


오라클 9i에서 문자열 분리하는 방법


SELECT     SUBSTR (COL,
                   INSTR (COL, ',', 1, LEVEL) + 1,
                   INSTR (COL, ',', 1, LEVEL + 1) - INSTR (COL, ',', 1, LEVEL)
                   - 1) AS COL
FROM (SELECT ',' || 'A,B,C,D' || ',' AS COL
              FROM DUAL)
CONNECT BY LEVEL <= LENGTH (COL) - LENGTH (REPLACE (COL, ',')) - 1

;


오라클 10g에서 문자열 분리하는 방법


Select Regexp_Substr('A,B,C,D','[^,]+', 1, Level) COL From Dual
Connect By Regexp_Substr('A,B,C,D', '[^,]+', 1, Level) Is Not Null

;



결과값


COL

------

  A

  B

  C

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함