Sommario: in questo tutorial, imparerai a conoscere la funzione PostgreSQL COALESCE che restituisce il primo argomento non nullo. Imparerai come applicare questa funzione nell’istruzione SELECT per gestire efficacemente i valori null.
PostgreSQL COALESCE sintassi della funzione
La sintassi della funzioneCOALESCE
è la seguente:
Code language: SQL (Structured Query Language) (sql)
La funzioneCOALESCE
accetta un numero illimitato di argomenti. Restituisce il primo argomento che non è null., Se tutti gli argomenti sono null, la funzioneCOALESCE
restituirà null.
La funzione COALESCE
valuta gli argomenti da sinistra a destra finché non trova il primo argomento non nullo. Tutti gli argomenti rimanenti dal primo argomento non nullo non vengono valutati.
La funzioneCOALESCE
fornisce la stessa funzionalità della funzioneNVL
oIFNULL
fornita dallo standard SQL. MySQL ha la funzione IFNULL, mentre Oracle fornisce la funzioneNVL
.,
Vedi i seguenti esempi:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
spesso Si usa il tag COLAESCE
funzione di sostituire il valore predefinito per i valori null quando abbiamo l’interrogazione dei dati. Ad esempio, vogliamo visualizzare l’estratto da un post del blog, se l’estratto non viene fornito, possiamo utilizzare i primi 150 caratteri dell ‘ del contenuto del post., Per ottenere ciò, possiamo utilizzare la funzioneCOALESCE
come segue:
Code language: SQL (Structured Query Language) (sql)
PostgreSQL COALESCE example
Diamo un’occhiata a un esempio di utilizzo della funzioneCOALESCE
. Per prima cosa, creiamo una tabella denominata articoli utilizzando l’istruzione CREATE TABLE come segue:
Code language: SQL (Structured Query Language) (sql)
Ci sono quattro campi di items
tabella:
- id: chiave primaria che identifica l’elemento nella tabella articoli.
- prodotto: il nome del prodotto.
- prezzo: il prezzo del prodotto.,
- sconto: lo sconto del prodotto.
in Secondo luogo, abbiamo inserire alcuni record nella tabella articoli con INSERISCI istruzione come segue:
Terzo query al netto dei prezzi dei prodotti utilizzando la seguente formula:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Se si guarda alla quarta riga, si noterà che il prezzo netto del prodotto D
è null, il che mi sembra non corretto., Il problema è lo sconto del prodotto D
è null, quindi quando prendiamo il valore null per calcolare il prezzo netto, PostgreSQL restituisce null.
Ottieni il prezzo giusto, dobbiamo supporre che se lo sconto è nullo, è zero., Quindi è possibile utilizzare il tag COALESCE
funzione come segue:
Code language: SQL (Structured Query Language) (sql)
Ora il prezzo netto del prodotto D
è 500
perché usiamo zero invece del valore null quando abbiamo calcolato il prezzo netto.
Oltre a utilizzare la funzioneCOALESCE
, è possibile utilizzare l’espressione CASE per gestire i valori null in questo caso. Vedere la seguente query che utilizza l’espressioneCASE
per ottenere lo stesso risultato sopra.,
Code language: SQL (Structured Query Language) (sql)
Nella query sopra diciamo se lo sconto è nullo quindi utilizzare zero (0) altrimenti utilizzare il valore di sconto nell’espressione che calcola il prezzo netto.
In termini di prestazioni, COALESCE
la funzione e l’espressione del CASO sono uguali. PreferiamoCOALESCE
funzione diCASE
espressione perchéCOALESCE
funzione rende la query più breve e più facile da leggere.
In questo tutorial, hai imparato come usare la funzione COALESCE
per sostituire i valori null nella query.,
- Questo tutorial è stato utile ?
- Sì
Leave a Reply