NULL 함수
NULL은 연산이 불가능하다. 오라클은 NULL일 경우 연산을 하기 위해 NULL값을 다른 데이터로 변환하는 NVL과 NVL2 함수를 사용한다.
NVL 함수
NVL 함수는 첫 번째 입력 데이터가 NULL이면 두 번째 입력 데이터 값으로 저장하고, NULL이 아닐경우 그대로 첫 번째 입력값이 그대로 반환된다.
NVL([NULL인지 여부를 검사할 데이터 또는 열(필수)],
[앞의 데이터가 NULL일 경우 반환할 데이터](필수))
NVL 함수를 통해 급여외 수당(COMM)이 NULL이면 0으로 대체하고 0이 아니면 그대로 값을 출력하는 쿼리문을 작성해보자.
SELECT EMPNO, ENAME, SAL, COMM, SAL+COMM,
NVL(COMM, 0),
SAL+NVL(COMM, 0)
FROM EMP;
NVL2 함수
NVL2 함수는 NVL 함수와 비슷하지만 데이터가 NULL이 아닐 떄 추가로 데이터를 지정해줄 수 있다.
NVL2([NULL인지 여부를 검사할 데이터 또는 열(필수)],
[앞 데이터가 NULL이 아닐 경우 반환할 데이터 또는 계산식(필수)],
[앞 데이터가 NULL일 경우 반환할 데이터 또는 계산식(필수)])
급여 외 추가 수당(COMM)열이 NULL이 아니라면 O를, NULL이라면 X를 표기하는 쿼리문을 작성해보자.
SELECT EMPNO, ENAME, COMM
NVL2(COMM, 'O', 'X'),
NVL2(COMM, SAL*12+COMM, SAL*12) AS ANNSAL
FROM EMP;
출처:Do it! 오라클로 배우는 데이터베이스 입문(저자:이지훈 출판사:이지스퍼블리싱)
'DB > Oracle' 카테고리의 다른 글
[다중행 함수] 하나의 열에 출력 결과를 담는 다중행 함수 (0) | 2022.02.10 |
---|---|
[오라클 함수] 상황에 따라 다른 데이터를 반환하는 DECODE 함수와 CASE문 (0) | 2022.02.10 |
[오라클 함수] 형 변환 함수 (0) | 2022.02.09 |
[오라클 함수] 날짜 함수 (0) | 2022.02.09 |
[오라클 함수] 문자함수 (0) | 2022.02.07 |