SQL 통한 Database 관리

Nullif()

JBS 12 2024. 8. 20. 19:09

`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` 처리가 필요한 경우에 사용됩니다.

'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