Concat -funksjonen i AWS Redshift brukes til å sammenkoble (bli med) to eller flere strenger og returnerer den resulterende strengen. Datatypen for den resulterende variabelen er den samme som for inngangsvariablene til konkatfunksjonen. Concat -funksjon kan ikke være aktuelt på en enkelt streng. Det kan være aktuelt på to og mer enn to strenger. I tilfelle vi ønsker å bruke Concat -funksjonen på mer enn to strenger, brukes nestet Concat -funksjon. Concat -funksjon tilsvarer konkatenasjonsoperatøren (||) som brukes mellom to strenger eller uttrykk.
Syntaks av konkatfunksjon
Syntaks for konkatfunksjon er gitt i følgende:
1 | Concat (String 1, String 2) |
Der begge argumentene “String 1” og “String 2” kan være av fast lengde eller av strenger med variabel lengde.
Hvis inngangsstrengene er av forskjellige datatyper, prøver Amazon Redshift å være ubetinget av typen en av strengene. Hvis verdier ikke kan støpes, returneres en feil fra Amazon Redshift.
Eksempler ved bruk av Concat -funksjonen
La oss ta noen få eksempler for å forstå arbeidet med Concat -funksjonen fullt ut. Denne delen inneholder flere eksempler for å ha en bedre forståelse av Concat -funksjonen.
Enkel streng sammenkobling
I dette eksemplet vil vi sammenkoble de to strengene - “AWS” og “Redshift”. Bruk følgende Redshift -spørring for å sammenkoble disse strengene:
1 | Velg Concat ('AWS', 'Redshift'); |
Utgangen til denne spørringen er som følger:
1 2 3 | AWS Redshift |
Det samme resultatet kan også genereres ved å bruke sammenkoblingsoperatøren (||). Bruk følgende spørring til å sammenkoble strengene ved å bruke sammenkoblingsoperatøren i Redshift -klyngen:
1 | Velg 'AWS' || ' Redshift '; |
Utgangen til denne spørringen er som følger:
1 2 3 | AWS Redshift |
La oss nå prøve å sammenkoble strengene, “21. mai” og “2022”. Følgende Redshift -spørring sammenkobler disse strengene ved å bruke Concat -funksjonen:
1 | velg Concat ('21. mai', ', 2022'); |
Det genererer følgende utgang. Husk at datatypen til denne spørringen er strengen, da begge inngangsparametrene er strenger:
1 2 3 | 21. mai 2022 |
Prøv det samme eksemplet, men denne gangen ved å bruke en sammenkoblingsoperatør (||). Følgende er spørringen for å sammenkoble disse strengene:
1 | Velg '21. mai' || ' , 2022 '; |
Denne spørringen resulterer i følgende utgang:
1 2 3 | 21. mai 2022 |
Nestet sammenkobling
Hvis du vil sammenkoble mer enn to strenger, brukes den nestede Concat -funksjonen. På samme måte kan sammenkoblingsoperatøren (||) også brukes til å sammenkoble to eller mer enn to strenger i Redshift -klyngen. I dette avsnittet vil vi bruke både sammenkoblingsoperatøren (||) og Concat -funksjonen for å implementere den nestede sammenkoblingen.
I det følgende eksemplet vil vi prøve å sammenkoble mer enn to strenger for å ha en bedre forståelse av Concat -funksjonen. Den første strengen er en dag, jeg.e. "Lørdag". Den andre strengen er en dato og måned, jeg.e. “21. mai”. Og den tredje strengen er et år, jeg.e. “2022”.
Følgende spørring brukes til å implementere den nestede sammenkoblingen på disse strengene:
1 | Velg Concat ('Saturday,', Concat ('21. mai,', '2022')); |
Denne spørringen genererer følgende utgang:
1 2 3 | Lørdag 21. mai 2022 |
For å sammenkoble flere strenger bruker vi sammenkoblingsoperatøren (||) i stedet for konkatfunksjonen i Redshift -klyngen. Concatenation -operatøren (||) tar strengene fra både sidene og sammenkobler dem til å generere utgangen.
Følgende spørring sammenkobler flere strenger ved bruk av sammenkoblingsoperatøren (||):
1 | Velg 'lørdag,' || 21. mai, '||' 2022 '; |
Utgangen til denne spørringen er som følger:
1 2 3 | Lørdag 21. mai 2022 |
Håndtering av nullverdier i rødforskyvningen
I tilfelle, hvis vi passerer en eller flere nullverdier til Concat -funksjonen, vil resultatet være tomt. For å sjekke den tomme verdien, kjører vi et eksempel på Redshift -klyngen.
I følgende spørsmål er en parameter for Concat -funksjonen null:
1 | Velg Concat ('AWS Redshift', NULL); |
Når den utføres, vil denne spørringen generere en tom utgang.
Nå vil vi prøve det samme eksemplet ved å bruke en sammenkoblingsoperatør (||) i stedet for Concat -funksjonen:
1 | Velg 'AWS Redshift' || null; |
Utgangen fra denne spørringen vil også være tom.
For å løse nullverdien i dataene, Nvl Kommando brukes. Nvl Kommandoen er ansvarlig for å håndtere nullverdiene i dataene.
Nå tar vi et eksempel der vi bruker Nvl å håndtere NULL parameter. For det bruker vi nullhåndteringsfunksjonen, jeg.e. Nvl, For å håndtere nullverdiene.
Følgende spørring kan brukes til å sammenlikne strengen og NULL parameter håndtert av Nvl funksjon:
1 | velg Concat ('AWS Redshift', NVL (NULL, ")); |
Det genererer følgende utgang, tar NULL Parameter som en tom streng:
1 2 3 | AWS Redshift |
Prøv det samme eksemplet, men denne gangen ved å bruke en sammenkoblingsoperatør:
1 | Velg 'AWS Redshift' || Nvl (null, "); |
Følgende er utgangen for denne spørringen:
1 2 3 | AWS Redshift |
Bruke konkatfunksjon på Redshift -tabellen
I denne delen vil vi bruke konkatfunksjonen i tabellen. Vi vil bruke en database satt av AWS for å bruke konkatfunksjonen på den.
Vi vil bruke Concat -funksjonen på sted Tabell levert av Amazon Redshift. Vi vil sammenkoble begge Venuename og VenUecity -søyler der arenaer er større enn 75000.
Følgende spørring sammenkobler dataene til Venuename og VenUecity hvor arenaerestene er større enn 75000:
1 2 3 4 5 | Velg Concat (Venuename, VenUecity) |
Utgangen til denne spørringen er som følger:
1 2 3 4 5 6 7 8 9 | FedExfieldlandover |
Prøv nå dette eksemplet ved å bruke en sammenkoblingsoperatør. Men vi sammenkobler VenUecity og Veuestate Kolonner denne gangen. Vi endrer også tilstanden til arenueeats til 73500:
1 2 3 4 5 6 7 | Velg VenUecity || HureSestate |
Det genererer følgende resultat:
1 2 3 4 5 6 7 8 9 10 11 12 1. 3 14 15 | JacksonVillefl |
Nå bruker vi begrepet nestet Konkat funksjon i sted bord. Spørringen sammenkobler Venuename og VenUecity Verdier fra tabellen. Legg også kommaene og rommene til den resulterende strengen:
1 2 3 4 5 6 7 | Velg Concat (Concat (Venuename, ','), VenUecity) |
Utgangen til denne spørringen er som følger:
1 2 3 4 5 6 7 8 9 10 11 | Dolphin Stadium, Miami Gardens |
I dette følgende eksempel vil vi sammenkoble kolonnen som inneholder null for å forstå konseptet med å håndtere Null ved hjelp av NVL funksjon:
1 2 3 4 5 6 7 | Velg Concat (Venuename, Concat ('Seats', NVL (VenueSeats, 0)) |
Denne spørringen genererer følgende resultat når det utføres:
1 2 3 4 5 6 7 8 9 10 11 12 1. 3 14 15 | Ballys hotellseter 0 |
Konklusjon
I denne artikkelen diskuterte vi hvordan vi bruker Concat -funksjonen ved hjelp av flere eksempler. Vi brukte konseptet med konkatfunksjonen, nestet konkatfunksjon og sammenkoblingsoperatør. Vi studerte hvordan vi skal håndtere nullverdiene i Concat -funksjonen ved å bruke NVL -funksjonen. AWS Redshift Concat -funksjonen gir fullt privilegium å sammenkoble de to eller flere strengene i databasen din.