[Oracle]単一関数-一般関数
NVL(カラム名、変更値)
カラム値がNULLの場合、値を変更して返される関数に変換されます.
値をカラムのデータ型と同じデータ型に変更しないと、エラーが発生します.
--NVL 함수를 사용하여 성과급이 NULL인 경우 0으로 변환하여 연산 처리
SELECT EMPNO,ENAME,(SAL+NVL(COMM,0))*12 ANNUAL FROM EMP;
NVL 2(カラム名、変更値1、変更値2)
カラム値がNULLでない場合は変更値1に変換され、NULLの場合は変更値2に変換されて返されます.
SELECT EMPNO,ENAME,NVL2(COMM,SAL+COMM,SAL)*12 ANNUAL FROM EMP;
DECODE(カラム名、比較値1、変更値1、比較値2、変更値2...[、デフォルト変更値])
同じ場合、カラム値と比較値を1つずつ比較して値を変更する関数に変換します.
DECODE戻り値
--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;
Reference
この問題について([Oracle]単一関数-一般関数), 我々は、より多くの情報をここで見つけました https://velog.io/@jcrs0907/oracle-function-normalテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol