컬럼값이 NULL인 경우 변경값으로 변환하여 반환하는 함수
변경값은 컬럼의 자료형과 동일한 자료형의 값으로 변경하지 않으면 에러가 발생한다.
--NVL 함수를 사용하여 성과급이 NULL인 경우 0으로 변환하여 연산 처리
SELECT EMPNO,ENAME,(SAL+NVL(COMM,0))*12 ANNUAL FROM EMP;
컬럼값이 NULL이 아닌 경우 변경값1로 변환하고 NULL인 경우 변경값2으로 변환하여 반환하는 함수
SELECT EMPNO,ENAME,NVL2(COMM,SAL+COMM,SAL)*12 ANNUAL FROM EMP;
컬럼값을 비교값과 차례대로 비교하여 같은 경우 변경값으로 변환하여 반환하는 함수
--ANALYST : 급여*1.1, CLERK : 급여*1.2, MANAGER : 급여*1.3,
--PRESIDENT : 급여*1.4, SALESMAN : 급여*1.5
SELECT EMPNO,ENAME,JOB,SAL,
DECODE(JOB,'ANALYST',SAL*1.1,'CLERK',SAL*1.2,'MANAGER',SAL*1.3
,'PRESIDENT',SAL*1.4,'SALESMAN',SAL*1.5,SAL) "업무별 실급여"
FROM EMP;