개발 기록이
[Oracle] DECODE, CASE 조건문 처리 본문
Oracle에서 DECODE와 CASE문을 이용하여 조건문을 처리할 수 있다.
1. DECODE
SELECT DECODE(POSITION, '부장', UNISTR('책임'), POSITION) AS POSITION_NM
FROM EMP_TB;
SELECT DECODE(DEPART_ID,
100, '인사팀',
200, '디자인팀',
300, '영업팀',
'기타') AS DEPART_NM
FROM EMP_TB;
* UNISTR 함수
문자열을 유니코드 형식으로 변환하여 다양한 인코딩 환경에서도 인코딩이 깨지지 않고 올바르게 표시될 수 있도록 한다.
2. CASE
SELECT CASE DEPART_ID
WHEN 100 THEN '인사팀'
WHEN 200 THEN '디자인팀'
WHEN 300 THEN '영업팀'
ELSE '기타'
END AS DEPART_NM
FROM EMP_TB;
SELECT USER_ID,
SCORE,
CASE
WHEN SCORE > 80 THEN 'A등급'
WHEN SCORE > 70 THEN 'B등급'
WHEN SCORE > 60 THEN 'C등급'
ELSE 'D등급'
END AS GRADE
FROM GRADE_TB;
간단한 조건문을 처리할 때는 DECODE를 사용하고, 복잡하거나 여러 조건이 있을 경우에는 CASE 문을 사용하면 된다.
오라클 로고 작가: Icons8
'기록 > DB' 카테고리의 다른 글
[MySQL] mybatis로 ROWNUM 생성하기 (0) | 2024.02.08 |
---|---|
[Mybatis] <sql>, <include> 를 이용한 중복쿼리 묶기 (0) | 2023.09.28 |
[MySQL] 딕셔너리, 메타데이터란? (0) | 2022.11.16 |
[MySQL] MariaDB 데이터베이스 내보내기, 가져오기 (0) | 2022.08.07 |