프로그래밍 숲

ISNULL, NVL, NULLIF, COALESCE 알아보기 본문

프로그래밍_인포/데이터베이스&SQL

ISNULL, NVL, NULLIF, COALESCE 알아보기

jjscript 2023. 6. 17. 09:20
728x90
반응형

ISNULL vs NVL

SQL에서 ISNULLNVL은 둘 다 NULL 값을 처리하기 위한 함수입니다. 하지만 각각은 서로 다른 DBMS에서 사용되는 문법입니다.

ISNULL 함수

  • ISNULL 함수는 Microsoft SQL Server에서 사용되는 함수입니다.
  • 이 함수는 첫 번째 매개변수가 NULL이면 두 번째 매개변수를 반환하고, NULL이 아니면 첫 번째 매개변수를 반환합니다.
  • 일반적인 문법은 다음과 같습니다: ISNULL(expression, replacement)
  • 예를 들어, 다음 쿼리는 Customers 테이블에서 City 열이 NULL인 경우 'Unknown'을 반환합니다
SELECT ISNULL(City, 'Unknown') FROM Customers;

NVL 함수

  • NVL 함수는 Oracle Database에서 사용되는 함수입니다.
  • 이 함수는 첫 번째 매개변수가 NULL이면 두 번째 매개변수를 반환하고, NULL이 아니면 첫 번째 매개변수를 반환합니다.
  • 일반적인 문법은 다음과 같습니다: NVL(expression, replacement)
  • 예를 들어, 다음 쿼리는 Customers 테이블에서 City 열이 NULL인 경우 'Unknown'을 반환합니다:
SELECT NVL(City, 'Unknown') FROM Customers;

따라서 ISNULLNVL 함수는 둘 다 NULL 값을 처리하기 위한 함수이지만, 사용되는 DBMS에 따라 문법이 다르므로 주의해야 합니다.

NULLIF and COALESCE

NULLIFCOALESCE는 SQL에서 NULL 값을 다루는 또 다른 함수입니다. 이 두 함수는 다양한 DBMS에서 모두 사용되는 표준 SQL 함수입니다.

NULLIF 함수

  • NULLIF 함수는 두 개의 매개변수를 비교하여 같으면 NULL을 반환하고, 다르면 첫 번째 매개변수를 반환합니다.
  • 일반적인 문법은 다음과 같습니다: NULLIF(expression1, expression2)
  • 예를 들어, 다음 쿼리는 Employees 테이블에서 Salary 열이 0인 경우 NULL을 반환합니다:
SELECT NULLIF(Salary, 0) FROM Employees;

COALESCE 함수

  • COALESCE 함수는 여러 개의 매개변수 중에서 첫 번째로 NULL이 아닌 값을 반환합니다.
  • 일반적인 문법은 다음과 같습니다: COALESCE(expression1, expression2, ...)
  • 예를 들어, 다음 쿼리는 Customers 테이블에서 City 열이 NULL인 경우 'Unknown'을 반환합니다. 그렇지 않은 경우에는 City 값을 반환합니다:
SELECT COALESCE(City, 'Unknown') FROM Customers;

따라서, NULLIF 함수는 두 값이 같으면 NULL을 반환하고, COALESCE 함수는 여러 값 중에서 첫 번째로 NULL이 아닌 값을 반환합니다.

728x90
반응형
Comments