Sommario: questo tutorial ti introduce alla funzione SQL COALESCE
e ti mostra come applicare questa funzione in scenari reali.
Introduzione alla funzione COALESCE SQL
La funzioneCOALESCE
accetta un numero di argomenti e restituisce il primo argomento non NULLO. Di seguito viene illustrata la sintassi della funzioneCOALESCE
.,
La funzioneCOALESCE
valuta i suoi argomenti da sinistra a destra. Smette di valutare finché non trova il primo argomento non NULLO. Significa che tutti gli argomenti rimanenti non vengono valutati affatto.
La funzione COALESCE
restituisce NULL
se tutti gli argomenti sono NULL
.
La seguente istruzione restituisce 1 perché 1 è il primo argomento non NULLO.,
La seguente istruzione restituisceNot NULL
perché è il primo argomento stringa che non valutaNULL
.
Se si utilizza la seguente istruzione
si otterrà la divisione per errore zero.
Tuttavia, la seguente istruzione restituisce 1 e non emette alcun errore:
Questo perché la funzioneCOALESCE
è cortocircuitata., Smette di valutare gli argomenti rimanenti dopo aver trovato i primi argomenti non NULLI.
Quasi tutti i sistemi di database relazionali supportano la funzione COALESCE
, ad esempio MySQL, PostgreSQL, Oracle, Microsoft SQL Server, Sybase.
Si noti che la funzioneCOALESCE
è la funzione più generica della funzioneNVL
e può essere utilizzata al posto della funzioneNVL
.,
SQL COALESCE esempi
Supponendo che abbiamo un products
tabella con la seguente struttura:
Utilizzo di SQL COALESCE per la sostituzione di valori NULL
Quando si lavora con i dati della tabella di database, spesso si usa il tag COALESCE
funzione di sostituire un valore predefinito per un NULL
valore.,
Supponiamo di dover visualizzare i prodotti su una pagina web con tutte le informazioni nella tabella products
. Alcuni prodotti potrebbero non avere il riassunto, ma gli altri lo fanno.
In questo caso, è possibile utilizzare la funzione COALESCE
per restituire il riepilogo del prodotto e, se il riepilogo del prodotto non viene fornito, si ottengono i primi 50 caratteri dalla descrizione del prodotto.,
È possibile utilizzare il tag CONCAT
funzione per aggiungere la (…) alla fine del brano per renderlo più significativo per gli utenti che il testo che state leggendo è solo l’estratto e non c’è più contenuto se si clicca per saperne di più link.,
Utilizzo di SQL funzione COALESCE in espressione
Supponiamo che avete bisogno di calcolare il prezzo netto di tutti i prodotti e si avvicinò con la seguente query:
Il prezzo netto è NULL
per il Rolls-Royce Wraith Coupe
., Questo perché lo sconto di questo prodotto èNULL
e quando si utilizza questo valoreNULL
nel calcolo, si ottiene un valoreNULL
.
Per risolvere questo problema, è possibile aggiornare tutti i valori NULL
nella colonna discount
a 0.
Oppure si può utilizzare il tag COALESCE
funzione come segue:
Il prezzo netto è calcolato correttamente.,
SQL COALESCE and CASE expression
The COALESCE
function is syntactic of the CASE
expression., Ciò significa che l’espressione
può essere riscritto utilizzando il seguente CASE
espressione:
Per esempio, è possibile riscrivere la query che calcola il prezzo netto di vendita il prezzo e di sconto usando il tag CASE
espressione come segue:
La query restituisce lo stesso risultato come quello che utilizza il tag COALESCE
funzione.,
In questo tutorial, hai imparato come utilizzare la funzione SQL COALESCE
per gestire i valori NULL
nella tabella del database.
- Questo tutorial è stato utile ?
- Sì