머리말
오라클 데이터베이스에서 쿼리를 작성하다 보면 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;
NVL2 함수 사용 방법
문법: NVL2 (expr1, expr2, expr3)
expr1: null 값을 포함할 수 있는 소스 값 또는 표현식 [모든 데이터 유형 가능]
expr2: null 값이 아닌 경우에 반환되는 값 [LONG 타입을 제외한 모든 데이터 유형 가능]
expr3: null 값을 변환하기 위한 대상 값 [LONG 타입을 제외한 모든 데이터 유형 가능]
SELECT ENAME, NVL2(COMM, '있음', '없음')
FROM EMP;
꼬리말
오라클 데이터베이스를 사용한다면 제법 자주 사용되는 함수 중 하나가 NVL 함수다. 해당 함수가 없다면 모든 데이터베이스에서 사용할 수 있는 DECODE 함수를 통해 구현해야 된다. 하지만, 강력한 기능을 제공하는 오라클을 사용 중이라면 충분히 고려해 볼 만한 함수임에 틀림없다. 오라클에서 제공하는 null 값 치환 함수인 nvl/nvl2 함수를 소개한 본 포스팅은 이로써 마무리를 짓도록 한다.
소중한 댓글 (0)