oracle / 컬럼의 값을 가로로 표시하기 / WM_CONCAT / Listagg / 옆으로 표시
2016. 1. 5. 15:36ㆍdatabase/oracle
컬럼의 값들을 한줄 (가로) 로 출력하는 방법이다.
oracle의 쿼리의 값을 간혹 가로(옆으로)로 표시해야 할 경우가 생긴다
test 테이블이 있다.
seq |
title |
1 | aaa |
2 | bbb |
3 | ccc |
SELECT title
FROM test
를 실행하면
title |
aaa |
bbb |
ccc |
로 표현된다.
oracle 10g 부터 지원하는 WM_CONCAT함수가 있다.
비공식 함수이다.
구분자가 무조건 콤마(,)이며 그렇기 때문에 데이터 중 콤마(,) 가 존재하지 않을 때 사용해야 한다.
또한 정렬이 안된다.
SELECT WM_CONCAT(title)
FROM test
를 실행하면
title |
aaa,bbb,ccc |
로 표시할 수 있다.
2개이상 사용시 order by를 하지 않으면 순서가 섞일 수 있다
조금 더 안정적인 함수는
listagg 가 있다
oracle 11g 부터 사용가능하다.
select listagg(title, ',') within group (order by title) from test
'database > oracle' 카테고리의 다른 글
oracle / ORA-00904 / 스칼라 서브쿼리 / with (0) | 2016.01.05 |
---|---|
toad 글꼴 변경 (0) | 2016.01.05 |
oracle / expdp / impdp / data dupm / 덤프 (2) | 2016.01.05 |
oracle / 오라클 및 각종 DB 강좌 사이트 (0) | 2016.01.05 |
oracle xe 8080 prot / 포트 / 변경 (0) | 2016.01.05 |
Oracle 사용자 계정 생성 / 삭제 / 권한 (0) | 2016.01.05 |
oracle / table 명세서 / 테이블 명세서 / 테이블 정보 / 조회 쿼리 / sql (0) | 2016.01.05 |
oracle / split / 문자열 잘라서 세로로 표시 (0) | 2016.01.05 |
oracle / 오라클 / html tag 제거 / 태그 제거 / 태그 치환 (0) | 2016.01.05 |
oracle / 데이터 복구 (0) | 2016.01.05 |