반응형
CASE 함수
1. 조건식에 따라 반환값이 결정되는 구문이다.
2. CASE WHEN <조건식1> THEN <반환값1> END
3. 예제
SELECT ENAME, SAL,
CASE WHEN SAL<1000 THEN 'C등급'
WHEN SAL>=1000 AND SAL<2000 THEN 'B등급'
ELSE 'A등급'
END
FROM EMP;
4. 예제2
SELECT ENAME, SAL,
CASE WHEN SAL<=1000 THEN SAL*3
WHEN SAL>1000 AND SAL<2000 THEN SAL*2.5
WHEN SAL>=2000 THEN SAL*3
END AS "인상값"
FROM EMP;
SELECT ENAME,
CASE WHEN ENAME LIKE 'S%' THEN 'S'
WHEN ENAME LIKE 'A%' THEN 'A'
ELSE 'X'
END AS "출력"
FROM EMP;
5. ELSE절을 사용하지 않는 경우, 조건에 맞는 경우를 제외하고 NULL로 표현된다.
DECODE 함수
1. CASE 표현식의 하나로 등가조건(=)만 사용가능한 함수
2. DECODE(<컬럼명>, <값1>, <반환값1>) - 컬럼명이 값1이면 반환값1을 가져온다.
3. 예제
SELECT DEPTNO,
DECODE (DEPTNO,10,'TRUE','FALSE')
FROM EMP;
SELECT ENAME,JOB,SAL,
DECODE (JOB, 'CLERK', SAL*1.1,
'SALESMAN', SAL*1.2,
'PRESIDENT', SAL*4,
'MANAGER', SAL*1.1,
'ANALYST', SAL*1.3)
FROM EMP;
반응형
'DB' 카테고리의 다른 글
[SQLD] ORDER BY. SELECT 문으로 얻어온 데이터를 정렬해보자. (0) | 2023.08.11 |
---|---|
[SQLD] NULL이란 무엇인가? (0) | 2023.08.11 |
[SQLD] 단일행 날짜 함수, 변환형 함수 (0) | 2023.08.05 |
[SQLD] 문자형 함수 (0) | 2023.08.04 |
[SQLD] 함수(Function) (1) | 2023.08.03 |