

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# NULLIF-Funktion
<a name="r_NULLIF_function"></a>

## Syntax
<a name="r_NULLIF_function-synopsis"></a>

Der NULLIF-Ausdruck vergleicht zwei Argumente und gibt null zurück, wenn die Argumente gleich sind. Wenn sie nicht gleich sind, wird das erste Argument zurückgegeben. Dieser Ausdruck ist die Umkehrung des NVL- oder COALESCE-Ausdrucks.

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

## Argumente
<a name="r_NULLIF_function-arguments"></a>

 *expression1, expression2*   
Die Zielspalten oder -ausdrücke, die verglichen werden. Der Rückgabetyp ist mit dem Typ des ersten Ausdrucks identisch. Der Standardspaltenname des NULLIF-Ergebnisses ist der Spaltenname des ersten Ausdrucks.

## Beispiele
<a name="r_NULLIF_function-examples"></a>

Im folgenden Beispiel gibt die Abfrage die Zeichenfolge `first` zurück, da die Argumente nicht identisch sind.

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

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

Im folgenden Beispiel gibt die Abfrage `NULL` zurück, da die Argumente des Zeichenfolgeliterals identisch sind.

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

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

Im folgenden Beispiel gibt die Abfrage `1` zurück, da die Ganzzahlargumente nicht identisch sind.

```
SELECT NULLIF(1, 2);

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

Im folgenden Beispiel gibt die Abfrage `NULL` zurück, da die Ganzzahlargumente identisch sind.

```
SELECT NULLIF(1, 1);

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

Im folgenden Beispiel gibt die Abfrage null zurück, wenn die LISTID- und SALESID-Werte übereinstimmen:

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

Sie können NULLIF verwenden, um sicherzustellen, dass leere Zeichenfolgen stets als Null-Werte zurückgegeben werden. Im folgenden Beispiel gibt der NULLIF-Ausdruck entweder einen Null-Wert oder eine Zeichenfolge zurück, die mindestens ein Zeichen enthalten.

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

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

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

NULLIF ignoriert am Ende stehende Leerzeichen. Wenn eine Zeichenfolge nicht leer ist, aber Leerzeichen enthält, gibt NULLIF ebenfalls null zurück:

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