NULLIFfunzione - Amazon Redshift

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à.

NULLIFfunzione

Sintassi

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

NULLIF ( expression1, expression2 )

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 di colonna predefinito del NULLIF risultato è 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 SALESID valori LISTID and 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 valori null. Nell'esempio seguente, l'NULLIFespressione restituisce un valore nullo 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)

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