프로그래밍_인포/데이터베이스&SQL
ISNULL, NVL, NULLIF, COALESCE 알아보기
jjscript
2023. 6. 17. 09:20
728x90
반응형
ISNULL vs NVL
SQL에서 ISNULL과 NVL은 둘 다 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;
따라서 ISNULL과 NVL 함수는 둘 다 NULL 값을 처리하기 위한 함수이지만, 사용되는 DBMS에 따라 문법이 다르므로 주의해야 합니다.
NULLIF and COALESCE
NULLIF와 COALESCE는 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
반응형