Welcome to Our Website

Oracle COALESCE Function (Italiano)

Riepilogo: in questo tutorial, imparerai come utilizzare la funzione OracleCOALESCE() per restituire i primi argomenti non nulli in un elenco.

Introduzione alla funzione Oracle COALESCE ()

La funzione OracleCOALESCE() accetta un elenco di argomenti e restituisce il primo che valuta un valore non nullo.,

Quanto segue illustra la sintassi della funzione OracleCOALESCE():

In questa sintassi, la funzioneCOALESCE() restituisce la prima espressione non null nell’elenco. Richiede almeno due espressioni. Nel caso in cui tutte le espressioni valutino null, la funzione restituisce null.,

L’esempio seguente restituisce uno perché è il primo non-null argomento:

 RESULT---------- 1

L’esempio seguente restituisce null, perché tutti gli argomenti sono null:

tipo di Ritorno

Se tutti gli argomenti hanno lo stesso tipo di dati, il COALESCE() funzione restituisce un valore di quel tipo di dati.

Se gli argomenti hanno tipi di dati diversi, la funzione COALESCE() converte implicitamente tutti gli argomenti nel tipo di dati del primo argomento non nullo., Nel caso in cui la conversione fallisca, Oracle emette un errore.

Il seguente esempio restituisce un valore con tipo di carattere perché tutti gli argomenti sono caratteri.,

allo stesso modo, l’esempio seguente restituisce un valore di tipo numerico:

 RESULT---------- 1

Tuttavia, l’esempio seguente utilizza argomenti di tipo diverso per il COALESCE() funzione:

Oracle ha rilasciato la seguente errore:

il COALESCE() funzione provato a convertire il tipo di carattere del terzo argomento di tipo numerico del secondo argomento, che ha generato un errore.,

Valutazione del cortocircuito

La funzioneCOALESCE() utilizza la valutazione del cortocircuito. Significa che la funzione smette di valutare le espressioni rimanenti una volta trovata la prima valuta un valore non nullo.

Si consideri il seguente esempio:

In questo esempio, la funzioneCOALESCE() ha valutato solo la prima espressione perché il risultato della prima espressione era due (1+1). Non ha valutato la seconda espressione (1/0). Se lo avesse fatto, Oracle avrebbe emesso la divisione per errore zero.,

Oracle COALESCE() esempio

Impostiamo una tabella di esempio per il test.

Supponiamo di dover registrare i contatti di emergenza dei dipendenti con vari numeri di telefono: telefono di lavoro, telefono di casa e telefono cellulare. Per farlo, si crea una nuova tabella denominata emergency_contacts come segue:

Le seguenti dichiarazioni inserire alcuni contatti di emergenza in tabella:

Alcuni contatti solo telefono di lavoro, mentre altri possono avere un telefono di casa e cellulare, o non hanno alcun numero di telefono a tutti.,

La seguente query recupera i dipendenti e i loro contatti di emergenza con i numeri di telefono:

In questo esempio, abbiamo usato la funzione COALESCE() per selezionare il telefono di casa, il telefono di lavoro o il telefono cellulare se ciascuno è disponibile. Nel caso in cui non siano disponibili numeri di telefono, abbiamo restituitoN/A stringa letterale che sta per non disponibile.,

di seguito si riporta Il risultato della query:

Oracle COALESCE() e con l’espressione CASE

È possibile utilizzare il tag COALESCE() invece la funzione più CASE espressione quando si tratta di test per null nelle molteplici espressioni. La funzioneCOALESCE() è più concisa di un’espressioneCASE che coinvolge valutazioni nulle.,

If you check for NULL in two expressions, the COALESCE() function is equivalent to the CASE expression.

For example, the following COALESCE() function:

is equivalent to:

Likewise,

is equivalent to

Oracle COALESCE() vs. NVL()

The COALESCE() function is a part of SQL ANSI-92 standard while NVL() function is Oracle specific.,

Nel caso di due espressioni, la funzione COALESCE() e NVL() sembra essere simile ma le loro implementazioni sono diverse. Vedere le seguenti istruzioni:

Entrambe le istruzioni restituiscono lo stesso risultato che è uno. Tuttavia, la funzioneCOALESCE() valuta solo la prima espressione per determinare il risultato mentre la funzioneNVL() valuta entrambe le espressioni.,

vediamo il seguente esempio:

La dichiarazione di cui sopra restituito 1, mentre l’esempio seguente genera un errore:

L’errore è:

il NVL() funzione valutata secondo l’espressione 1/0 che causa l’errore.

In questo tutorial, hai imparato come usare la funzione Oracle COALESCE() per restituire la prima espressione non null in un elenco di espressioni.

  • Questo tutorial è stato utile?,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *