

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Fonction NULLIF
<a name="r_NULLIF_function"></a>

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

L’expression NULLIF compare les deux arguments et renvoie la valeur nulle si les arguments sont égaux. Si ce n’est pas le cas, le premier argument est renvoyé. Cette expression est l’inverse de l’expression NVL ou COALESCE.

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

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

 *expression1, expression2*   
Colonnes ou expressions cible qui sont comparées. Le type de retour est le identique au type de la première expression. Le nom de colonne par défaut du résultat NULLIF correspond à celui de la première expression.

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

Dans l’exemple suivant, la requête renvoie la chaîne `first` car les arguments ne sont pas égaux.

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

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

Dans l’exemple suivant, la requête renvoie `NULL` car les arguments littéraux de la chaîne sont égaux.

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

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

Dans l’exemple suivant, la requête renvoie `1` car les arguments entiers ne sont pas égaux.

```
SELECT NULLIF(1, 2);

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

Dans l’exemple suivant, la requête renvoie `NULL` car les arguments entiers sont égaux.

```
SELECT NULLIF(1, 1);

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

Dans l’exemple suivant, la requête renvoie la valeur nulle lorsque les valeurs LISTID et SALESID correspondent :

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

Vous pouvez utiliser NULLIF pour vous assurer que les chaînes vides sont toujours renvoyées sous forme de valeurs NULL. Dans l’exemple ci-dessous, l’expression NULLIF renvoie une valeur null ou une chaîne qui contient au moins un caractère.

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

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

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

NULLIF ignore les espaces de fin. Si une chaîne n’est pas vide, mais contient des espaces, NULLIF renvoie toujours 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)
```