기술

[오라클/티베로]NULL값 처리 - NVL, NVL2, COALESCE

또리줌마 2024. 12. 6. 18:38
반응형

 

 

 

 

1. NULL 이란?

 

- NULL은 존재하지 않는것

- 공백이나 0은 NULL이 아니다.

- NULL은 존재하지 않는것이므로 연산에 포함되면 그 결과는 무조건 NULL 이다.

 

SELECT 5+0 AS A, 5+ NULL AS B  FROM DUAL;

 

 

 

2. NVL, NVL2, COALESCE 이용

 

 1)  NVL(a,b)

     : a가 null이 아니면 a출력, a가 null이면 b출력

 

SELECT NVL(20,-10) AS A, NVL(NULL, -10) AS B
 FROM DUAL;

 

 2)  NVL2(a,b,c)

     a가 null이 아니면 b출력, a가 null이면 c출력

 

 SELECT NVL2(30,20,-10) AS A, NVL2(NULL, 20, -10) AS B
 FROM DUAL ;

 

 

3) COALESCE(a,b,c)

  a가 null이면 b(a다음값) 출력,  b가 null이면 c(b다음값) 출력.

  c가 null이면 (null이후에 다음값이 없으며) null값을 출력한다.