`NULLIF` 함수는 Oracle SQL에서 두 개의 인수를 비교하여, 두 인수가 동일할 경우 `NULL`을 반환하고, 그렇지 않으면 첫 번째 인수를 반환합니다. 이 함수는 주로 조건에 따라 `NULL`을 반환해야 할 때 유용합니다.
### 문법
```sql
NULLIF(expression1, expression2)
```
- `expression1`: 반환될 값 또는 비교할 첫 번째 표현식.
- `expression2`: `expression1`과 비교할 두 번째 표현식.
### 동작 원리
- `expression1`과 `expression2`가 같으면, 결과는 `NULL`입니다.
- 두 표현식이 다르면, 결과는 `expression1`입니다.
### 예제
#### 기본 예제
```sql
SELECT NULLIF(5, 5) AS result FROM dual;
```
- `5`와 `5`가 같으므로 결과는 `NULL`입니다.
#### 다른 값 예제
```sql
SELECT NULLIF(5, 10) AS result FROM dual;
```
- `5`와 `10`이 다르므로 결과는 `5`입니다.
### 실용적인 예제
#### 데이터 처리에서 `NULLIF` 사용
```sql
SELECT product_id,
NULLIF(sales_amount, 0) AS sales_amount
FROM sales_data;
```
- `sales_amount`가 `0`일 때 `NULL`로 대체하여, `0` 값을 제거하거나 무시하고자 할 때 유용합니다.
### 요약
- `NULLIF`는 두 인수를 비교하여 동일하면 `NULL`을 반환하고, 다르면 첫 번째 인수를 반환합니다.
- 주로 `NULL` 처리가 필요한 경우에 사용됩니다.
'Data Analysis 데이터 분석 > SQL 통한 Database 관리' 카테고리의 다른 글
쿼리의 실행 순서와 괄호의 적용 범위 (0) | 2024.08.29 |
---|---|
select coalesce(null, 'A') from DUAL; (0) | 2024.08.20 |
결제 - 대사, 정산 (0) | 2024.08.20 |
select nvl() from dual (0) | 2024.08.20 |
dual이 뭐니 (0) | 2024.08.20 |