

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Função NULLIF
<a name="r_NULLIF_function"></a>

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

A expressão NULLIF compara dois argumentos e retorna nulo se os argumentos forem iguais. Se eles não forem iguais, o primeiro argumento é retornado. Essa expressão é o inverso da expressão NVL ou COALESCE.

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

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

 *expression1, expression2*   
As colunas ou expressões de destino que são comparadas. O tipo de retorno é igual ao tipo da primeira expressão. O nome padrão da coluna do resultado de NULLIF é o nome da coluna da primeira expressão.

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

No exemplo a seguir, a consulta retorna a string `first` porque os argumentos não são iguais.

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

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

No exemplo a seguir, a consulta retorna `NULL` porque os argumentos literais da string são iguais.

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

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

No exemplo a seguir, a consulta retorna `1` porque os argumentos inteiros não são iguais.

```
SELECT NULLIF(1, 2);

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

No exemplo a seguir, a consulta retorna `NULL` porque os argumentos inteiros são iguais.

```
SELECT NULLIF(1, 1);

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

No exemplo a seguir, a consulta retorna nulo quando há correspondência dos valores LISTID e SALESID:

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

Você pode usar NULLIF para garantir que strings vazias sempre sejam retornadas como nulas. No exemplo abaixo, o expressão NULLIF retorna um valor nulo ou uma string que contém pelo menos um caractere.

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

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

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

NULLIF ignora espaços em branco à direita. Se uma string não estiver vazia, mas contiver espaços em branco, NULLIF continuará retornando nulo:

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