오라클 nvl 함수, nvl2 함수: null 값 치환

Wookoa 2023. 12. 25.

오라클 nvl/nvl2 함수: null 값 치환
오라클 nvl/nvl2 함수: null 값 치환

머리말

  오라클 데이터베이스에서 쿼리를 작성하다 보면 null 값 대신 다른 값으로 변경해야 할 경우가 있다. 이를 흔히 null 값을 치환한다고 하는데, 오라클에서 제공하는 함수를 사용하면 간단하게 해결할 수 있다. NVL 함수는 오라클에서만 제공하는 함수로써 다른 데이터베이스에서는 존재하지 않는 강력한 함수다. 본 포스팅에서는 오라클에서 제공하는 함수 중 NVL/NVL2 함수에 대해서 사용 방법을 소개하도록 한다.

NVL 함수 사용 방법

문법: NVL (expr1, expr2)

expr1: null 값을 포함할 수 있는 소스 값 또는 표현식

expr2: null 값을 변환하기 위한 대상 값

 데이터 유형  변환 예제
 NUMBER  NVL(number_column, 9)
 DATE  NVL(date_column, '01-JAN-95')
 CHAR or VARCHAR2  NVL(character_column, 'wookoa')

SELECT ENAME, NVL(COMM, 0)
  FROM EMP;

NVL 함수 사용 결과
NVL 함수 사용 결과

NVL2 함수 사용 방법

문법: NVL2 (expr1, expr2, expr3)

expr1: null 값을 포함할 수 있는 소스 값 또는 표현식 [모든 데이터 유형 가능]

expr2: null 값이 아닌 경우에 반환되는 값 [LONG 타입을 제외한 모든 데이터 유형 가능]

expr3: null 값을 변환하기 위한 대상 값 [LONG 타입을 제외한 모든 데이터 유형 가능]

SELECT ENAME, NVL2(COMM, '있음', '없음')
  FROM EMP;

NVL2 함수 사용 결과
NVL2 함수 사용 결과

꼬리말

  오라클 데이터베이스를 사용한다면 제법 자주 사용되는 함수 중 하나가 NVL 함수다. 해당 함수가 없다면 모든 데이터베이스에서 사용할 수 있는 DECODE 함수를 통해 구현해야 된다. 하지만, 강력한 기능을 제공하는 오라클을 사용 중이라면 충분히 고려해 볼 만한 함수임에 틀림없다. 오라클에서 제공하는 null 값 치환 함수인 nvl/nvl2 함수를 소개한 본 포스팅은 이로써 마무리를 짓도록 한다.

인기있는 글

소중한 댓글 (0)