database/Oracle

[Oracle] SingleRow_Null

솧이 2022. 8. 31. 21:43

null 처리 함수

null을 허용하는 field에 대해서 연산이 이루어질 경우 매우 주의해야 한다!

null은 연산에서 빠지기 때문이다 (단일행 함수 및 일반 연산)

 

nvl 함수

문법 : nvl('컬럼', 치환할 값);

column의 값이 null인지 체크하여 null이면 치환

 

nvl2 함수

문법 : nvl('컬럼', 값1, 값2);

column 값이 null이 아니면 값1, null이면 값2로 치환

 

 

* null과 값을 합치면 null이 나온다

SELECT name, pay, bonus, pay + bonus
FROM t_professor;

 

nvl() 함수

bonus가 null이면 0으로 치환되어 나온다

SELECT name, pay, bonus, pay + nvl(bonus, 0)
FROM t_professor;

 

 

[실습] #4201

SELECT name, pay, nvl(bonus, 0) AS BONUS, nvl2(bonus, pay * 12 + bonus, pay * 12) AS 연봉
FROM t_professor
WHERE deptno = 101;

 

'database > Oracle' 카테고리의 다른 글

[Oracle] Singlerow_Number  (0) 2022.08.31
[Oracle] Singlerow_conversion  (0) 2022.08.31
[Oracle] SingleRow_String  (0) 2022.08.31
[Oracle] Oracle  (0) 2022.08.30
[Oracle] SQL 기초 - SELECT  (0) 2022.08.30