728x90
반응형
보통 오라클 정렬을 할 때 order by 를 사용해 정렬했다.
ORDER BY 컬럼명 ASC
이 방법으로, 특정컬럼의 오름차순이나 내림차순으로 정렬할 수 있다.
RANK라는 테이블에는 A, S, SS, P 의 값이 있는데 해당 값을
P, SS, S, A, 순으로 정렬을 보여주려고 헀다.
기존방식으로 order by 했더니,
SELECT RANK
FROM RANK_TABLE
ORDER BY RANK ASC;
이렇게 A, P, S, SS 순 (또는 이거 역순) 으로 밖에 정렬할 수 없다.
ORDER BY 내에서 내가 원하는 대로 순서를 정렬하고 싶은 상황.
이럴때는 DECODE 를 사용해서 정렬할 수 있다.
DECODE의 사용법은
ORDER BY DECODE(컬럼명, '값', 순서,'값',순서)
해서 이렇게 하면 원하는 대로 출력된다.
SELECT RANK
FROM RANK_TABLE
ORDER BY DECODE(RANK, 'P', 1, 'SS', 2, 'S', 3, 'A', 4) ASC;
728x90
반응형
LIST
'Database > Oracle' 카테고리의 다른 글
[ORACLE] 오라클 DB 사용자 계정 생성 및 TS 생성 (0) | 2023.01.02 |
---|---|
ORACLE DB JDBC 연결 테스트 jsp (0) | 2022.05.10 |
[Oracle]JAVA와 오라클 JDBC 연동하기 (ojdbc6.jar 위치) (0) | 2022.01.15 |
[Oracle] 윈도우10 오라클11g 설치 방법 및 접속 확인 테스트 (0) | 2022.01.15 |
[ORACLE] 테이블 생성 CREATE 문 예 (제약조건) (0) | 2022.01.15 |