COALESCE in Teradata

COALESCE viene utilizzato per verificare se l’argomento è NULL, se è NULL, prende il valore predefinito.
Controllerà i valori NOT NULL in sequenza nell’elenco e restituirà il primo valore NOT NULL.
Sintassi:

COALESCE(Argument list,)

Elenco argomenti – Possono essere colonne di una tabella o espressioni
COALESCE restituisce NULL se tutti i suoi argomenti valutano null.
Altrimenti, restituisce il valore del primo argomento non nullo nell’elenco di espressioni specificato.
Ogni funzione COALESCE deve avere almeno due operandi. Due colonne o una colonna con un valore predefinito.
È possibile avere più colonne sotto coalesce come di seguito:

COALESCE(col1, col2, col3, 0)

Il codice sopra dice che se col1 è null allora controllerà col2.
Se col2 è null, controllerà la presenza di col3.
Se col3 è anche null, allora 0 sarà l’output.
Se coalesce incontra una delle colonne con valore non null, il valore della colonna verrà restituito dalla query. (Da sinistra a destra priorità)
Esempio : 1
Se il paese prende il valore NULL, ‘NOI’, che verrà fornito da Teradata

SELECT COALESCE(Country,'US') as Output

Output

Paese Output
Italia Italia
NULL NOI

Esempio: 2
L’esempio seguente restituisce il numero di telefono di casa di un individuo di nome (se presente), o il telefono di ufficio se HomePhone è null o Cellulare, se presenti, e a casa e in ufficio telefono valori null. Restituisce NULL se tutti e tre i valori sono null.

SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone) FROM PhoneDirectory;

Quando viene fornito un valore predefinito, il valore predefinito verrà restituito se tutti i campi di input sono null

SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone,'No Phone') FROM PhoneDirectory;

Esempio:3
Ogni volta che si combina COALESCE con operatori non comparativi, come || o * o +, è necessario racchiudere tra parentesi l’intera funzione COALESCE e i relativi operandi.

SELECT (COALESCE(100,0)) * 5;

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.