Funzione NULLIF - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Funzione NULLIF

Sintassi

L'espressione NULLIF confronta due argomenti e restituisce null se gli argomenti sono uguali. Se non sono uguali, viene restituito il primo argomento. Questa espressione è l'inverso dell'espressione NVL o COALESCE.

NULLIF ( expression1, expression2 )

Arguments (Argomenti)

expression1, expression2

Le colonne o le espressioni di destinazione che vengono confrontate. Il tipo di restituzione è uguale al tipo della prima espressione. Il nome della colonna predefinito del risultato NULLIF è il nome della colonna della prima espressione.

Esempi

Nell'esempio seguente, la query restituisce la stringa first perché gli argomenti non sono uguali.

SELECT NULLIF('first', 'second'); case ------- first

Nell'esempio seguente, la query restituisce NULL perché gli argomenti della stringa letterale non sono uguali.

SELECT NULLIF('first', 'first'); case ------- NULL

Nell'esempio seguente, la query restituisce 1 perché gli argomenti del numero intero non sono uguali.

SELECT NULLIF(1, 2); case ------- 1

Nell'esempio seguente, la query restituisce NULL perché gli argomenti del numero intero sono uguali.

SELECT NULLIF(1, 1); case ------- NULL

Nell'esempio seguente, la query restituisce null quando i valori LISTID e SALESID corrispondono:

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)

È possibile utilizzare NULLIF per garantire che le stringhe vuote vengano sempre restituite come null. Nell'esempio seguente, l'espressione NULLIF restituisce un valore null o una stringa che contiene almeno un carattere.

insert into category values(0,'','Special','Special'); select nullif(catgroup,'') from category where catdesc='Special'; catgroup ---------- null (1 row)

NULLIF ignora gli spazi finali. Se una stringa non è vuota ma contiene spazi, NULLIF restituisce ancora 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)