

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 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)
```