Funzione di carbone Redshift

Funzione di carbone Redshift
La funzione Coalesce RedShift restituisce la prima espressione non null da un elenco. La funzione Coalesce inizia a leggere un elenco e quando viene trovato il primo valore non null, la funzione non leggerà il restante e restituirà il primo valore non null. Se tutti i valori dell'elenco sono nulli, la funzione Coalesce restituirà il valore nullo. La funzione Coalesce è anche chiamata funzione di gestione null Nvl. Viene utilizzato per gestire i valori null nell'elenco.

Sintassi della funzione Coalesce

La sintassi della funzione Coalesce è riportata di seguito:

Coalesce (espressione 1, espressione 2, ..., espressione n)

O

Nvl (espressione 1, espressione 2, ..., espressione n)

Non c'è limite al valore che è possibile inserire. La funzione Coalesce funziona come una condizione IF-ELSE. Inizierà a cercare da sinistra a destra fino a quando non trova l'espressione non null. Significa che inizierà la sua ricerca dalla prima espressione. Se è nullo, si sposterà alla seconda espressione per controllare l'espressione e così via fino a ottenere l'espressione non null.

La funzione Coalesce è indipendente dal tipo di dati, il che significa che è possibile utilizzare la funzione Coalesce su ogni espressione del tipo di dati. Ma tutte le espressioni dovrebbero essere dello stesso tipo. Ad esempio, la funzione Coalesce non consente l'espressione 1 del tipo di dati numerici e l'espressione 2 del tipo di dati dei caratteri. Quindi, durante l'utilizzo della funzione Coalesce, assicurarsi che tutte le espressioni di input debbano essere dello stesso tipo di dati.

Esempi di funzione Coalesce

Questa sezione utilizzerà diversi esempi per spiegare come la funzione Coalesce o NVL può essere utilizzata in diversi scenari. Useremo i seguenti esempi per comprendere la funzione Coalesce:

  • Utilizzando la funzione Coalesce su più valori
  • Utilizzando la funzione Coalesce su un singolo valore
  • Usando la funzione NVL
  • Utilizzando la funzione Coalesce con le tabelle

Utilizzando la funzione Coalesce su più valori

Nel primo esempio, cercheremo di comprendere il funzionamento della funzione Coalesce applicandolo a più valori.

Utilizzare la seguente query per implementare la funzione Coalesce:

Seleziona Coalesce (null, null, null, 56, null, 100)

La query precedente genererà il seguente output:

56
(1 riga)

La funzione Coalesce inizia la sua ricerca controllando la prima espressione, che è nulla. Si sposta alla seconda espressione, che è anche nullo. Si sposta alla terza espressione, che ha anche un valore nullo. Quindi, passerà alla quarta espressione, che non è un valore nullo, e restituirà la quarta espressione, i.e., 56.

In questo esempio, applicheremo la funzione Coalesce su un tipo di dati VARCHAR per mostrare che la funzione Coalesce è indipendente dai tipi di dati. Utilizzare la seguente query per applicare la funzione Coalesce sui parametri del tipo di dati VARCHAR.

selezionare Coalesce (null, null, "cocacola", null, "pepsi");

Genererà il seguente output:

Coca Cola
(1 riga)

Quindi, questo esempio dimostra che la funzione Coalesce è indipendente dai tipi di dati dei parametri passati. La funzione Coalesce inizia a cercare l'espressione non null, quindi Coca Cola è la prima espressione non null. La funzione Coalesce restituisce il Coca Cola, e le espressioni rimanenti non sono valutate.

Utilizzando la funzione Coalesce sul valore singolo

In questo esempio, useremo la funzione Coalesce su una singola espressione. Utilizzare la seguente query per implementare la funzione Coalesce su una singola espressione:

Seleziona Coalesce (56);

Il risultato della query precedente sarà il seguente:

56
(1 riga)

La funzione Coalesce inizia la sua ricerca e la prima espressione non è nulla in modo che restituisca quell'espressione, io.e., 56.

Ora applichiamo la funzione Coalesce su una singola espressione e il suo valore è nullo.

Seleziona Coalesce (null);

Restituirà una risposta vuota perché esiste solo un'espressione nulla e la funzione Coalesce restituisce solo l'espressione non nulla.

Usando la funzione NVL

In questo esempio, applicheremo la funzione NVL anziché la funzione Coalesce per restituire il primo valore non nullo.

Utilizzare la seguente query per applicare la funzione NVL anziché la funzione Coalesce:

Seleziona nvl (null, null, 100, null, 1000);

Restituirà la seguente risposta.

100
(1 riga)

Questo esempio mostra che NVL funziona esattamente allo stesso modo della funzione Coalesce. In breve, possiamo dire che NVL è sinonimo della funzione Coalesce.

Utilizzando la funzione Coalesce con le tabelle

Questa sezione utilizzerà più esempi per implementare la funzione Coalesce con le tabelle. Innanzitutto, creeremo una tabella e inseriremo dati. Quindi useremo la funzione Coalesce in questa tabella.

Usa la seguente query per creare il AWS_redshift_coalesce Tabella nel cluster di spostamento verso il rosso:

Crea la tabella aws_redshift_coalesce (first_value int, second_value int);

Ora, inserisci alcuni dati in questa tabella, inclusi alcuni valori null

Inserisci in AWS_redshift_coalesce valori ('240', null);
Inserisci i valori AWS_redshift_coalesce (null, '360');
inserire in AWS_redshift_coalesce valori ('480', null);
Inserisci i valori AWS_redshift_coalesce (null, '720');
Inserisci i valori AWS_redshift_coalesce (null, '1080');

Dopo aver inserito i dati, applicare la funzione Coalesce su di essi utilizzando la seguente query:

Seleziona Coalesce (First_Value, Second_Value)
da AWS_redshift_coalesce
ordine di 1;

Genererà il seguente output:

240
360
480
720
1080
(5 file)

La funzione Coalesce inizia a controllare la prima colonna. Nella prima colonna, 240, 480 e 1080 sono i valori non nulli. Quindi, la funzione Coalesce restituisce questi valori e quindi controlla la seconda colonna in cui ha trovato 360 e 720 come non valori null.

Nel seguente esempio, useremo la stessa tabella per comprendere il concetto della funzione di coalesce su una singola colonna.

Seleziona Coalesce (First_Value)
da AWS_redshift_coalesce
ordine di 1;

Questa query, una volta eseguita, genererà il seguente output.

240
480
(2 file)

Nel First_column, Solo 240 e 480 non sono valori nulli. Quindi, la funzione Coalesce restituirà solo questi due valori.

Se applichiamo la funzione Coalesce sulla seconda colonna della tabella.

Seleziona Coalesce (First_Value)
da AWS_redshift_coalesce
ordine di 1;

Questa query genererà il seguente risultato quando viene eseguita:

360
720
1080
(3 file)

Nella seconda colonna, 360, 720 e 1080 sono i valori non nulli. Quindi, la funzione Coalesce restituirà solo questi tre valori.

Conclusione

In questo articolo, abbiamo studiato come utilizzare la funzione Coalesce per ottenere la prima espressione non null. La funzione Coalesce è molto utile per trovare il valore non nullo dai dati. Se tutti i valori della colonna sono nulli, la funzione Coalesce restituirà il risultato vuoto. Dovrebbe essere la stessa espressione del tipo di dati nella colonna singola. Quando la funzione Coalesce scopre l'espressione non nulla, interrompe le esecuzioni e le espressioni rimanenti rimangono incontrollate.