일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 조인
- 리눅스 명령어
- substring
- foreignkey
- DB접속
- word wrap
- 3306
- EQUI
- select
- visual studio code
- 삭제
- 집계 함수
- 서브쿼리
- cmd
- java
- 데이터타입
- primarykey
- DISTINCT
- live server
- MySQL
- 생성
- groupby
- 입력
- pytthon
- 줄바꿈
- 데이터베이스
- Linux
- date_add
- 테이블
- now()
Archives
- Today
- Total
재유's
[OracleSQL] 열 데이터를 행으로 표현하기 본문
오라클 11g 기준
SELECT LISTAGG ( 데이터컬럼, ',') WITHIN GROUP (ORDER BY 정렬순서컬럼) FROM tbl_dual;
','는 데이터 구분자이므로 원하는 모양으로 사용가능하다
만일 '*' 로 사용할 경우
A*B*C*D 이렇게 표현된다
',' = A,B,C,D
SELECT WM_CONCAT (데이터컬럼) FROM tbl_dual
-중복 제거시 WM_CONCAT (DISTINCT 데이터컬럼) 으로!
위 처럼 표현하면 데이터가 일자로 표시 된다.
ex)
COL1 | SORT |
A | 1 |
B | 2 |
D | 3 |
C | 4 |
위와 같은 데이터가 들어있는 'TBL_EX' 테이블이 있을때
SELECT LISTAGG ( COL1, ',') WITHIN GROUP (ORDER BY COL1) COL2 FROM TBL_EX
결과
COL2 |
A,B,D,C |
SELECT LISTAGG ( COL1, ',') WITHIN GROUP (ORDER BY SORT) COL2 FROM TBL_EX
결과
COL2 |
A,B,C,D |
SELECT WM_CONCAT(CO1) FROM TBL_EX
결과
COL2 |
A,B,C,D |
표현해야될 데이터가 너무 길면
String concatenation result is too long.. 이라는 에러(비슷한 에러)가 뜸...
(TIBERO에러)
'IT Story > : : Oracle' 카테고리의 다른 글
[Oracle] ROWNUM (0) | 2019.04.09 |
---|---|
[Error] SQL Developer 모듈 비활성화 오류시 처리방법 (1) | 2019.04.09 |
[SQL] 숫자만 또는 숫자외(글자포함) 데이터 찾기 조건 (0) | 2017.05.01 |
[ORACLE/TIBERO] SQL QUERY HISTORY 확인방법 (0) | 2017.05.01 |
Oracle 사용자 만들고 권한 부여하기 (1) | 2017.05.01 |
Comments