-
Oracle - DECODE, CASE 함수DataBase/Oracle 2024. 8. 12. 22:04반응형
DECODE - 값에 따라 반환값을 결정 할 수 있다.
직급에 따라 인상된 급여액을 가져온다.
CLERK : 10% SALESMAN : 15% PRESIDENT : 200% MANAGER : 5% ANALYST : 20%SELECT empno, ename, job, decode(job, 'CLERK', sal*1.1, 'SALESMAN', sal*1.15, 'PRESIDENT', sal*3, 'MANAGER', sal*1.05, 'ANALYST', sal*1.2) FROM emp;
이와같이 DECODE를 사용하여 해당 직무에 맞게 인상된 급여액을 가져 올 수 있다.
CASE - 조건에 따라 반환값을 결정 할 수 있다.
급여액별 등급을 가져온다.
1000미만 : c등급 1000이상 2000미만 : B등급 2000이상 : A등급SELECT empno, ename, CASE WHEN sal<1000 THEN 'C등급' WHEN sal>=1000 AND sal<2000 THEN 'B등급' WHEN sal>=2000 THEN 'A등급' END FROM emp;
이와같이 조건을 설정하여 조건에 맞는 값들을 가져올 수 있다.
직원들의 급여를 다음과 같이 인상한다.
1000이하 : 100% 1000초과 2000미만 : 50% 2000이상 : 200%SELECT empno, ename, CASE WHEN sal<=1000 THEN sal*2 WHEN sal>1000 AND sal<=2000 THEN sal*0.5 WHEN sal>=2000 THEN sal*3 END FROM emp;
반응형'DataBase > Oracle' 카테고리의 다른 글
Oracle - Having (0) 2024.08.13 Oracle - Group by (0) 2024.08.13 Oracle - 그룹함수 (avg, sum, min, max) (0) 2024.08.12 Oracle - 날짜함수의 모든 것 (0) 2024.08.12 Oracle 문자열 함수의 모든것 (0) 2024.08.11