

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# NULLIF 関数
<a name="NULLIF_function"></a>

2 つの引数を比較し、引数が等しい場合は Null を返します。等しくない場合、最初の引数が返されます。

## 構文
<a name="NULLIF_function-synopsis"></a>

NULLIF 式は 2 つの引数を比較し、引数が等しい場合に 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)
```