Funzione Concat RedShift

Funzione Concat RedShift

La funzione Concat in AWS Redshift viene utilizzata per concaterare (join) due o più stringhe e restituisce la stringa risultante. Il tipo di dati della variabile risultante è uguale a quello delle variabili di input alla funzione Concat. La funzione Concat non può essere applicabile su una singola stringa. Può essere applicabile su due e più di due stringhe. Nel caso in cui vogliamo applicare la funzione Concat su più di due stringhe, viene utilizzata la funzione concat nidificata. La funzione Concat è equivalente all'operatore di concatenazione (||) utilizzato tra due stringhe o espressioni.

Sintassi della funzione Concat

La sintassi per la funzione Concat è indicata nel seguente:

1
Concat (String 1, String 2)

Dove entrambi gli argomenti "String 1" e "String 2" può essere di lunghezza fissa o di stringhe di lunghezza variabile.

Se le stringhe di input sono di diversi tipi di dati, Amazon Redshift cerca di digitare incondizionatamente una delle stringhe. Se i valori non possono essere lanciati, un errore viene restituito dallo spostamento del redshift di Amazon.

Esempi nell'uso della funzione Concat

Prendiamo alcuni esempi per comprendere appieno il funzionamento della funzione concat. Questa sezione contiene più esempi per avere una migliore comprensione della funzione Concat.

  • Concatenazione di stringa semplice
  • Concatenazione nidificata
  • Gestione dei valori nulli
  • Applicazione della funzione Concat sulla tabella Redshift

Concatenazione di stringa semplice

In questo esempio, concateremo le due stringhe - "AWS" e "Redshift". Usa la seguente query sul redshift per concatenare queste stringhe:

1
Seleziona Concat ('AWS', 'Redshift');

L'output di questa query è la seguente:

1
2
3
AWS Redshift
(1 riga)

Lo stesso risultato può anche essere generato utilizzando l'operatore di concatenazione (||). Utilizzare la seguente query per concatenare le stringhe usando l'operatore di concatenazione nel cluster di spostamento verso il rosso:

1
Seleziona 'AWS' || ' Redshift ';

L'output di questa query è la seguente:

1
2
3
AWS Redshift
(1 riga)

Ora, proviamo a concatenare le corde, "21 maggio" e "2022". La seguente query RedShift concatena queste stringhe usando la funzione Concat:

1
Seleziona Concat ("21 maggio", ", 2022");

Genera il seguente output. Ricorda che il tipo di dati di questa query è la stringa poiché entrambi i parametri di input sono stringhe:

1
2
3
21 maggio 2022
(1 riga)

Prova lo stesso esempio, ma questa volta utilizzando un operatore di concatenazione (||). Quella che segue è la query per concatenare queste stringhe:

1
Seleziona '21 maggio' || ' , 2022 ';

Questa query si traduce nel seguente output:

1
2
3
21 maggio 2022
(1 riga)

Concatenazione nidificata

Se si desidera concatenare più di due stringhe, viene utilizzata la funzione concat nidificata. Allo stesso modo, l'operatore di concatenazione (||) può anche essere usato per concaterare due o più di due stringhe nel cluster di spostamento verso il rosso. In questa sezione, utilizzeremo sia l'operatore di concatenazione (||) sia la funzione Concat per implementare la concatenazione nidificata.

Nel seguente esempio, cercheremo di concatenare più di due stringhe per avere una migliore comprensione della funzione Concat. La prima stringa è un giorno, io.e. "Sabato". La seconda stringa è una data e un mese, i.e. "21 maggio". E la terza stringa è un anno, io.e. "2022".

La seguente query viene utilizzata per implementare la concatenazione nidificata su queste stringhe:

1
Seleziona Concat ("Saturday", Concat ("21 maggio", "2022"));

Questa query genera il seguente output:

1
2
3
Sabato 21 maggio 2022
(1 riga)

Per concatenare più stringhe, utilizziamo l'operatore di concatenazione (||) anziché la funzione CONCAT nel cluster di spostamento verso il rosso. L'operatore di concatenazione (||) prende le corde da entrambi i lati e le concatena per generare l'output.

Le seguenti query concatena più stringhe usando l'operatore di concatenazione (||):

1
Seleziona 'Saturday' '|| '21 maggio,' || '2022';

L'output di questa query è la seguente:

1
2
3
Sabato 21 maggio 2022
(1 riga)

Gestire i valori null nel redshift

Nel caso, se passiamo uno o più valori null alla funzione Concat, il risultato sarà vuoto. Per controllare il valore vuoto, eseguiremo una query di esempio sul cluster Redshift.

Nella seguente query, un parametro della funzione Concat è nullo:

1
Seleziona Concat ('AWS Redshift', null);

Quando viene eseguita, questa query genererà un output vuoto.


Ora proveremo lo stesso esempio usando un operatore di concatenazione (||) anziché la funzione Concat:

1
Seleziona 'AWS Redshift' || null;

L'output di questa query sarà anche vuota.

Per risolvere il valore null nei dati, Nvl viene utilizzato il comando. Nvl Il comando è responsabile della gestione dei valori null nei dati.

Ora prendiamo un esempio in cui usiamo il Nvl per gestire il NULLO parametro. Per questo, usiamo la funzione di gestione null, io.e. Nvl, per gestire i valori null.

La seguente query può essere utilizzata per concaterare la stringa e il NULLO parametro gestito dal Nvl funzione:

1
Seleziona Concat ('AWS Redshift', nvl (null, "));

Genera il seguente output, prendendo il NULLO parametro come stringa vuota:

1
2
3
AWS Redshift
(1 riga)

Prova lo stesso esempio, ma questa volta utilizzando un operatore di concatenazione:

1
Seleziona 'AWS Redshift' || Nvl (null, ");

Quanto segue è l'output per questa query:

1
2
3
AWS Redshift
(1 riga)

Applicazione della funzione Concat sulla tabella Redshift

In questa sezione, applicheremo la funzione Concat nella tabella. Useremo un database impostato da AWS per applicare la funzione Concat su di esso.

Applicheremo la funzione Concat su luogo Tabella fornita da Amazon Redshift. Concateneremo entrambi i VenueName e colonne di venuecia dove si sono verificati sono maggiori di 75000.

La seguente query concatena i dati di Venuename e VenueCity Dove i luoghi sono superiori a 75000:

1
2
3
4
5
Seleziona Concat (VenueName, VenueCity)
dal locale
dove si sono i luoghi> 2000;

L'output di questa query è la seguente:

1
2
3
4
5
6
7
8
9
FedExfieldlandover
New York Giants Stadiumeast Rutherford
Arrowhead Stadiumkansas City
Invesco Fielddenver
(4 file)

Ora, prova questo esempio usando un operatore di concatenazione. Ma concateniamo il VenueCity e Veuestate colonne questa volta. Inoltre, cambiamo le condizioni di luoghi a 73500:

1
2
3
4
5
6
7
Seleziona VenueCity || Venuestate
dal locale
dove si sono i luoghi> 73500
ordine per sede;

Genera il seguente risultato:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Jacksonvillefl
Orchard Parkny
Miami Gardensfl
Denverco
Kansas Citymo
East Rutherfordnj
Landovermd
(7 file)

Ora applichiamo il concetto di nidificato Concattare funzione in luogo tavolo. La query concatena il Venuename e VenueCity Valori dalla tabella. Inoltre, aggiungi le virgole e gli spazi alla stringa risultante:

1
2
3
4
5
6
7
Seleziona Concat (Concat (VenueName, ','), VenueCity)
dal locale
dove si sono i luoghi> 74000
ordine per sede;

L'output di questa query è la seguente:

1
2
3
4
5
6
7
8
9
10
11
Dolphin Stadium, Miami Gardens
Invesco Field, Denver
Arrowhead Stadium, Kansas City
New York Giants Stadium, East Rutherford
FedExfield, Landover
(5 file)

In questo esempio seguente, concateneremo la colonna che contiene il null per comprendere appieno il concetto di gestire il NULL usando NVL funzione:

1
2
3
4
5
6
7
Seleziona Concat (VenueName, Concat ('Seats', NVL (LaseEATS, 0))
Dalla sede in cui venuestate = 'nc' o venuestate = 'nv'
Ordine di 1
Limite 7;

Questa query genera il seguente risultato quando viene eseguita:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ballys Hotel sedili 0
Sedili Hilton Hotel 0
Bellagio Hotel sedili 0
Sedili dello stadio della Bank of America 73298
Caesars Palace sedili 0
Luxor Hotel Seats 0
HARRAHS HOTEL SEDIE 0
(7 file)

Conclusione

In questo articolo, abbiamo discusso di come utilizzare la funzione Concat con l'aiuto di più esempi. Abbiamo applicato il concetto di funzione concat, funzionalità concat nidificata e operatore di concatenazione. Abbiamo studiato come gestire i valori null nella funzione Concat usando la funzione NVL. La funzione AWS Redshift Concat fornisce il pieno privilegio di concaterare le due o più stringhe nel database.