

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# NULLIF 函數
<a name="NULLIF_function"></a>

比較兩個引數，如果引數相等，則傳回 Null。如果不相等，則會傳回第一個引數。

## 語法
<a name="NULLIF_function-synopsis"></a>

NULLIF 表達式比較兩個引數，如果引數相等，則傳回 Null。如果不相等，則會傳回第一個引數。此表達式與 NVL 或 COALESCE 表達式相反。

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

## 引數
<a name="NULLIF_function-arguments"></a>

 *expression1、expression2*   
比較的目標欄或表達式。傳回類型與第一個表達式的類型相同。

## 範例
<a name="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)
```