본문 바로가기
카테고리 없음

Null값을 치환해주는 (NVL,NVL2) 함수 사용법 & 예제

by sftt 2023. 12. 19.

NVL 함수 소개

NVL 함수는 첫 번째 인자로 전달된 값이 NULL인 경우, 두 번째 인자로 전달된 값을 반환하는 함수입니다. 많은 데이터베이스 시스템에서 사용할 수 있으며, 데이터베이스 컬럼이나 변수의 값이 NULL일 때 원하는 치환값을 사용할 수 있습니다.

NVL 함수 사용법

다음은 NVL 함수의 기본 사용법입니다:

NVL(expression, substitute)
  • expression: 첫 번째 인자로 평가할 표현식입니다.
  • substitute: 두 번째 인자로 치환할 값입니다.

NVL 함수는 expression이 NULL이면 substitute를 반환합니다. expression이 NULL이 아니면 expression을 반환합니다.

NVL 함수 예제

다음은 NVL 함수의 몇 가지 예제입니다:

  1. 사용자 테이블에서 이름이 NULL인 사용자의 이름을 "Unknown"으로 변경하기:

    SELECT NVL(name, 'Unknown') FROM users;
  2. 제품 테이블에서 가격이 NULL인 제품의 가격을 0으로 변경하기:

    SELECT NVL(price, 0) FROM products;

NVL2 함수 소개

NVL2 함수는 첫 번째 인자로 전달된 값이 NULL이 아닌 경우 두 번째 인자를, NULL인 경우 세 번째 인자를 반환하는 함수입니다. NVL 함수와 다른 점은 NULL이 아닌 경우와 NULL인 경우에 따라 다른 값을 반환한다는 점입니다.

NVL2 함수 사용법

다음은 NVL2 함수의 기본 사용법입니다:

NVL2(expression, value_if_not_null, value_if_null)
  • expression: 첫 번째 인자로 평가할 표현식입니다.
  • value_if_not_null: 두 번째 인자로 expression이 NULL이 아닌 경우 반환될 값입니다.
  • value_if_null: 세 번째 인자로 expression이 NULL인 경우 반환될 값입니다.

NVL2 함수는 expression이 NULL이 아니면 value_if_not_null을 반환하고, expression이 NULL이면 value_if_null을 반환합니다.

NVL2 함수 예제

다음은 NVL2 함수의 몇 가지 예제입니다:

  1. 사용자 테이블에서 나이가 NULL인 경우 "Unknown"을 아닌 경우 "Known"을 반환하기:

    SELECT NVL2(age, 'Known', 'Unknown') FROM users;
  2. 주문 테이블에서 날짜가 NULL인 경우 "Not yet ordered"을 아닌 경우 "Ordered"를 반환하기:

    SELECT NVL2(order_date, 'Ordered', 'Not yet ordered') FROM orders;

마무리

NVL과 NVL2 함수는 데이터베이스에서 NULL값을 다룰 때 유용한 함수입니다. NVL 함수는 NULL값을 다른 값으로 치환할 때 사용되며, NVL2 함수는 NULL값 여부에 따라 다른 값을 반환할 때 사용됩니다. 이러한 함수들을 활용하면 데이터베이스에서 NULL값을 처리하는 데 유연성을 높일 수 있습니다.

댓글