Funzione Oracle Coalesce

Funzione Oracle Coalesce
In questo post, impareremo come lavorare con la funzione Coalesce () per recuperare il primo valore non nullo in un elenco.

Introduzione alla funzione Oracle Coalesce ()

La funzione Coalesce () consente di specificare un elenco di argomenti e restituire il primo argomento non null dal set fornito.

Possiamo esprimere la sintassi della funzione come segue:

Coalesce (espressioni1, espressione2, ..., espressione);

Nella sintassi fornita, espressione1, espressione2, ..., espressioni rappresentano le espressioni da valutare per i valori null.

Una volta che la funzione incontra il primo valore non nullo nell'elenco delle espressioni fornite, restituisce tale valore. Tuttavia, la funzione restituisce null se tutte le espressioni sono nulle.

Prendi questo esempio che dimostra l'uso di base della funzione Coalesce () nei database Oracle:

Seleziona Coalesce (null, null, 1, 2, 3) come fuori dal doppio;

Nell'esempio precedente, utilizziamo la funzione coalesce () con cinque valori di input o espressioni. Poiché i primi due valori sono nulli, la funzione restituisce il primo valore dopo ciò che è l'intero 1.

Esempio di output:

Prendi questo secondo esempio che dimostra il valore di ritorno se tutte le espressioni sono nulle.

Seleziona Coalesce (null, null, null) come fuori dal doppio;

La funzione restituisce null come mostrato nel seguente:

La funzione Coalesce () restituisce lo stesso tipo di dati del tipo di input se tutti i valori sono dello stesso tipo.

Tuttavia, se le espressioni di input sono di diversi tipi di dati, la funzione tenta di eseguire una conversione di tipo implicita su tutte le espressioni nel tipo di dati della prima espressione non null.

Se la conversione fallisce, il motore del database restituisce un errore.

Un esempio è dimostrato da quanto segue:

Seleziona Coalesce (null, null, null, 1, 'b') come fuori dal doppio;

In questo caso, le espressioni sono di diversi tipi di dati. Poiché la prima espressione non null è un numero, la funzione tenta di convertire tutte le espressioni nel tipo di numero che fallisce poiché il carattere "B" non può essere convertito in un numero.

L'errore risultante è come mostrato:

[42000] [932] ORA-00932: dati incoerenti: numero previsto ottenuto char

È bene tenere presente che la funzione utilizza la valutazione del corto circuito. Ciò significa che la funzione smette di incontrare la prima espressione non null. Quindi, anche se c'è un errore dopo la prima espressione non null, non si registrerà poiché la funzione non lo valuterà.

Conclusione

In questo post, hai scoperto la funzione di lavoro e utilizzo della funzione Oracle Coalesce () per restituire il primo argomento non null in un'espressione.