SQL 조건식
DECODE : switch case 문과 같은 기능, 여러가지 경우에 대해서 선택 할 수 있도록 한다.
형식 DECODE (표현식, 조건1, 결과1, 조건2, 결과2, 조건3, 결과3, 기본결과n)
1 2 3 4 5 6 7 | SELECT ENAME, DEPTNO, DECODE(DEPTNO, 10, 'ACCOUNTING', 20, 'RESEARCH', 30, 'SALES', 40, 'OPERATIONS') AS DNAME FROM EMP; | cs |
DEPTNO에 따라 10이면 ACCOUNTING, 20이면 RESEARCH ... 컬럼명이 DNAME인 곳에 출력
CASE : 역시 여러가지 경우에 대해서 하나를 선택하는 함수,
DECODE와 차이점 : DECODE 함수는 조건이 일치(=비교 연산자) 하는 경우에 대해서만 적용되는 반면, CASE 함수는 다양한 비교 연산자를 이용하여 조건을 제시 할 수 있으므로 범위를 지정 할 수도 있다. (if else와 유사)
형식 : CASE 표현식 WHEN 조건1 THEN 결과1
WHEN 조건2 THEN 결과2
WHEN 조건3 THEN 결과3
ELSE 결과n
END
1 2 3 4 5 6 7 | SELECT ENAME, DEPTNO, CASE WHEN DEPTNO = 10 THEN 'ACCOUNTING' WHEN DEPTNO = 20 THEN 'RESEARCH' WHEN DEPTNO = 30 THEN 'SALES' WHEN DEPTNO = 40 THEN 'OPERATIONS' END AS DNAME FROM EMP; | cs |
비교연산자 가능
1 2 3 4 5 | SELECT ENAME, SAL, CASE WHEN SAL >= 1000 THEN '1000이상' else '1000이하' END AS SALCASE FROM EMP; | cs |
'DATABASE > ORACLE' 카테고리의 다른 글
[Oracle] SQL GROUP BY 절 (0) | 2018.04.20 |
---|---|
[Oracle] SQL 그룹 함수 집계 데이터 (0) | 2018.04.20 |
[Oracle] SQL 날짜 함수 (1) | 2018.04.19 |
[Oracle] SQL 문자 함수 (0) | 2018.04.19 |
[Oracle] SQL 숫자 함수 (0) | 2018.04.19 |