NULLIF() 함수와 IFNULL() 함수는 모두 SAP HANA에서 사용되는 함수이지만, 그 목적과 동작 방식이 다릅니다. 차이점을 살펴보겠습니다:
1. NULLIF() 함수
목적: 두 개의 값이 동일한지 비교하고, 만약 동일하면 NULL을 반환하고, 그렇지 않으면 첫 번째 인자를 반환합니다.
문법:
NULLIF(expression1, expression2)
동작:
- expression1과 expression2가 같으면 NULL을 반환합니다.
- 다르면 expression1을 반환합니다.
예시:
SELECT NULLIF(100, 100); -- 결과: NULL (두 값이 동일함) SELECT NULLIF(100, 200); -- 결과: 100 (두 값이 다름)
2. IFNULL() 함수
목적: 첫 번째 인자가 NULL인 경우 두 번째 인자로 대체해 값을 반환합니다.
문법:
IFNULL(expression, replacement)
동작:
- expression이 NULL이면 replacement 값을 반환합니다.
- 그렇지 않으면 expression 값을 그대로 반환합니다.
예시:
SELECT IFNULL(NULL, 'default'); -- 결과: 'default' (첫 번째 인자가 NULL이므로) SELECT IFNULL(100, 'default'); -- 결과: 100 (첫 번째 인자가 NULL이 아니므로)
주요 차이점 요약:
- NULLIF(): 두 인자를 비교하여 **동일하면 NULL**을 반환, 다르면 첫 번째 인자를 반환합니다.
- IFNULL(): 첫 번째 인자가 NULL이면 대체값을 반환하고, 그렇지 않으면 그대로 반환합니다.
예시 비교:
- NULLIF()는 비교 함수, IFNULL()은 NULL 대체 함수로 각각의 용도가 다르므로 상황에 따라 선택하여 사용합니다.
추가)
1. COALESCE
COALESCE 함수는 **IFNULL**과 비슷하게 NULL 값을 처리하는 함수입니다. 하지만 **COALESCE**는 여러 인수를 받을 수 있어, 여러 값 중 첫 번째로 NULL이 아닌 값을 반환하는 특징이 있습니다.
- 구문:COALESCE(value1, value2, ..., valueN)
-
COALESCE(value1, value2, ..., valueN)
-
- 설명: COALESCE는 순차적으로 인수들을 평가하여, 첫 번째로 NULL이 아닌 값을 반환합니다. 만약 모든 인수가 NULL이면 NULL을 반환합니다.
-
SELECT COALESCE(column1, column2, 'default_value') FROM your_table;
-
- 예시:여기서 column1이 NULL이면 column2를, column2도 NULL이면 'default_value'를 반환합니다
반응형
'DB' 카테고리의 다른 글
윈도우 함수 옵션 (0) | 2024.05.22 |
---|---|
MSSQL 순위 함수 (ROW_NUMBER 와 DENSE_RANK) (0) | 2024.05.20 |
윈도우 함수 옵션 (0) | 2024.05.17 |
MS SQL CURSOR (0) | 2024.05.16 |
GROUP BY와 PARTITION BY (0) | 2024.05.16 |