

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# NULLIF 함수
<a name="r_NULLIF_function"></a>

## 구문
<a name="r_NULLIF_function-synopsis"></a>

NULLIF 표현식은 두 인수를 비교하여 동일한 경우에는 NULL을 반환합니다. 동일하지 않으면 첫 번째 인수가 반환됩니다. 이 표현식은 NVL 또는 COALESCE 표현식의 정반대입니다.

```
NULLIF ( expression1, expression2 )
```

## 인수
<a name="r_NULLIF_function-arguments"></a>

 *expression1, expression2*   
비교 대상인 열 또는 표현식입니다. 반환 형식은 첫 번째 표현식의 형식과 동일합니다. NULLIF 결과의 기본 열 이름은 첫 번째 표현식의 열 이름과 일치합니다.

## 예제
<a name="r_NULLIF_function-examples"></a>

다음 예에서는 인수가 같지 않기 때문에 쿼리가 문자열 `first`를 반환합니다.

```
SELECT NULLIF('first', 'second');

case
-------
first
```

다음 예에서는 리터럴 인수가 같기 때문에 쿼리가 `NULL`을 반환합니다.

```
SELECT NULLIF('first', 'first');

case
-------
NULL
```

다음 예에서는 정수 인수가 같지 않기 때문에 쿼리가 `1`을 반환합니다.

```
SELECT NULLIF(1, 2);

case
-------
1
```

다음 예에서는 정수 인수가 같기 때문에 쿼리가 `NULL`을 반환합니다.

```
SELECT NULLIF(1, 1);

case
-------
NULL
```

다음은 LISTID와 SALESID 값이 일치할 때 쿼리가 NULL을 반환하는 예입니다.

```
select nullif(listid,salesid), salesid
from sales where salesid<10 order by 1, 2 desc;

listid  | salesid
--------+---------
     4  |       2
     5  |       4
     5  |       3
     6  |       5
     10 |       9
     10 |       8
     10 |       7
     10 |       6
        |       1
(9 rows)
```

NULLIF를 사용하여 빈 문자열은 항상 NULL로 반환되도록 할 수 있습니다. 다음은 NULLIF 표현식이 NULL 값을, 혹은 문자가 1개 이상 포함된 문자열을 반환하는 예입니다.

```
insert into category
values(0,'','Special','Special');

select nullif(catgroup,'') from category
where catdesc='Special';

catgroup
----------
null
(1 row)
```

NULLIF는 후행 공백을 무시합니다. 빈 문자열이 아니더라도 공백이 포함되어 있으면 NULLIF가 NULL을 반환합니다.

```
create table nulliftest(c1 char(2), c2 char(2));

insert into nulliftest values ('a','a ');

insert into nulliftest values ('b','b');


select nullif(c1,c2) from nulliftest;
c1
------
null
null
(2 rows)
```