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