더북(TheBook)

NULL 관련 함수 4개의 간단한 사용법이 쿼리 6-7에 나와 있습니다.

쿼리 6-7 NULL 관련 함수

SELECT NVL( NULL, 'N/A' )
      ,NVL2( 1, 2, 3 ) 
      ,COALESCE( NULL, NULL, 5, 4, NULL )
      ,NULLIF( 'NULL', 'null' ) 
  FROM DUAL;

 

▲ 그림 6-6 쿼리 6-7을 실행한 결과

 

쿼리와 결과를 비교해 보면 각 함수의 기능을 쉽게 알 수 있을 것입니다. NVL 함수는 첫 번째 매개변수가 NULL이므로 두 번째 매개변수인 ‘N/A’를 반환했습니다. NVL2 함수의 경우 첫 번째 매개변수인 1이 NULL이 아니므로 2를 반환했군요. COALESCE 함수는 매개변수 중 NULL이 아닌 첫 번째 값인 5를 반환했습니다.

마지막으로 NULLIF 함수의 경우 첫 번째와 두 번째 매개변수 값이 같지 않으므로 첫 번째 값인 ‘NULL’을 반환했습니다. 여기에서 한 가지 눈여겨 볼 점이 있는데, ‘NULL’과 ‘null’은 분명히 다른 값입니다(이 두 값은 따옴표로 감쌌기 때문에 NULL이 아닌 문자 값입니다). 오라클의 경우 대소문자를 명확히 구분하므로 두 값이 달라 첫 번째 매개변수 값을 반환했죠. 참고로 대소문자를 구분하지 않는, 즉 ‘NULL’과 ‘null’을 같은 값으로 처리하는 RDBMS도 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.