만약 쿼리를 통해 산술을 해야할 경우가 생길 때, 산술식에 포함된는 숫자 중에서 NULL 값이 포함되어 있으면

연산의 결과는 어떻게 될까?

 

아래의 코드는 직원들의 월급을 구하는 쿼리의 실행 결과이다.

SAL은 월급이고, COMM은 커미션이다.

COMM 값이 NULL로 되어있는 행의 데이터들은 SAL*12+COMM의 결과가 NULL값으로 나온다.

이럴 때  NULL값을 처리하는 방법에 대해서 아래를 보자.

 


NVL

  • NULL을 숫자 또는 문자열 등의 다른 값으로 변환하기 위해서 사용하는 함수이다.
  • 사용법 : SELECT NVL(컬럼명, 변환값) FROM DUAL;
  • 예시 : SELECT NVL(COMM, 0), SAL12+NVL(COMM, 0) FROM EMP;

비교를 위해 NVL을 안썼을 때와 NVL을 사용했을 때의 결과를 출력했다.

 

 

실행결과

 

NVL을 사용하게 되면 NULL이었던 값들이 0으로 계산이 되어 산술연산의 결과가 정상적으로 나오는 것을 볼 수 있다.

 

 

참조 : https://wikidocs.net/3937

+ Recent posts