oracle / 한 컬럼에 콤마(',') 구분자로 되어있는 코드 치환하기

2016. 1. 5. 15:50database/oracle

 

 

한 컬럼에 콤마(',') 구분자로 되어있는 코드 치환하는 예제이다.

 

 

 

한 컬럼에 다중 값 ( 11111,22222,33333 ) 처럼 다중으로 사원번호가 한 컬럼에 있다고 가정한다.


이때 다중 값을 사용자명으로 치환해야 할 때 아래 쿼리를 참고한다.


함수로 만들어서 사용하면 더 편리할 것 같다.





SELECT wm_concat (
     (SELECT 사용자명  FROM 사용자테이블  WHERE 사원번호 = txt)
)
FROM (
  SELECT TRIM (REGEXP_SUBSTR ('11111,22222,33333', '[^' || ',' || ']+', 1, LEVEL)) AS txt, LEVEL
      FROM dual
      CONNECT BY INSTR ('11111,22222,33333', ',', 1, LEVEL - 1) > 0
)

 

 

도움이 되셨다면 공감을 부탁드립니다. ^^