DBMS/ORACLE

[ORACLE] wm_concat 과 listagg

steadyMan 2020. 12. 4. 00:29

DB에서 데이터를 조회할 때 다수 튜플의 특정컬럼을

한 튜플의 특정컬럼에  모두 보여줘야 하는 경우에(group by 처럼)

 

사용할 수 있는함수가 wm_concat과 listagg

  • oracle 10g : wm_concat
  • oracle 11g : listagg

사용법은 

SELECT WM_CONCAT(컬럼명)

이런 형태로 사용하면 되는데 결과값은 

','를 기준으로 한 컬럼에 표현된다.

ex) T,E,S,T

물론 다른 컬럼과 같이 SELECT 할 경우 GROUP BY를 해줘야 한다. 

 

LISTAGG

SELECT LISTAGG(컬럼명, 사용할 구분 기호) WITHIN GROUP(ORDER BY 정렬 기준 컬럼)

위와 같은 형태로 사용한다.