Redshift samles funksjon

Redshift samles funksjon
Redshift Coalesce -funksjonen returnerer det første ikke NULL -uttrykket fra en liste. Coalesce -funksjonen begynner å lese en liste, og når den første ikke nullverdien blir funnet, vil funksjonen ikke lese de gjenværende og returnere den første ikke nullverdien. Hvis alle verdiene på listen er null, vil Coalesce -funksjonen returnere nullverdien. Coalesce -funksjonen kalles også nullhåndteringsfunksjon Nvl. Den brukes til å håndtere nullverdiene på listen.

Syntaks av coalesce -funksjonen

Syntaksen til Coalesce -funksjonen er gitt nedenfor:

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

ELLER

NVL (uttrykk 1, uttrykk 2, ..., uttrykk n)

Det er ingen grense for verdien du kan legge inn. Coalesce-funksjonen fungerer som en if-ests-tilstand. Det vil begynne å søke fra venstre mot høyre til den finner ikke nulluttrykket. Det betyr at det vil starte søket fra det første uttrykket. Hvis det er null, vil det bevege seg til det andre uttrykket for å sjekke uttrykket og så videre til det får ikke null -uttrykket.

Coalesce -funksjonen er uavhengig av datatype, noe som betyr at du kan bruke Coalesce -funksjonen på hvert datatypeuttrykk. Men alle uttrykk skal være av samme type. For eksempel tillater ikke coalesce -funksjonen uttrykk 1 av numerisk datatype og uttrykk 2 av karakterdatatype. Så mens du bruker Coalesce -funksjonen, må du sikre at alle inngangsuttrykkene skal være av samme datatype.

Eksempler på coalesce -funksjon

Denne delen vil bruke forskjellige eksempler for å forklare hvordan Coalesce- eller NVL -funksjonen kan brukes i forskjellige scenarier. Vi vil bruke følgende eksempler for å forstå Coalesce -funksjonen:

  • Bruke coalesce -funksjonen på flere verdier
  • Bruke coalesce -funksjonen på en enkelt verdi
  • Bruke NVL -funksjonen
  • Bruke coalesce -funksjonen med tabeller

Bruke coalesce -funksjonen på flere verdier

I det første eksemplet vil vi prøve å forstå arbeidet med Coalesce -funksjonen ved å bruke den på flere verdier.

Bruk følgende spørsmål til å implementere Coalesce -funksjonen:

Velg Coalesce (NULL, NULL, NULL, 56, NULL, 100)

Den forrige spørringen vil generere følgende utdata:

56
(1 rad)

Coalesce -funksjonen starter søket ved å sjekke det første uttrykket, som er null. Den beveger seg til det andre uttrykket, som også er null. Den beveger seg til det tredje uttrykket, som også har en nullverdi. Deretter vil den flytte til det fjerde uttrykket, som ikke er en nullverdi, og returner det fjerde uttrykket, i.e., 56.

I dette eksemplet vil vi bruke Coalesce -funksjonen på en VARCHAR -datatype for å vise at Coalesce -funksjonen er uavhengig av datatyper. Bruk følgende spørring for å bruke coalesce -funksjonen på parametere for varchar datatype.

Velg Coalesce (NULL, NULL, 'COCACOLA', NULL, 'Pepsi');

Det vil generere følgende utgang:

Cocacola
(1 rad)

Så dette eksemplet beviser at coalesce -funksjonen er uavhengig av datatypene på parametrene som er bestått. Coalesce -funksjonen begynner å søke etter NOT NULL -uttrykket, så Cocacola er det første ikke nulluttrykket. Coalesce -funksjonen returnerer Cocacola, og de gjenværende uttrykkene er uvaluert.

Bruke coalesce -funksjonen på enkeltverdi

I dette eksemplet vil vi bruke Coalesce -funksjonen på et enkelt uttrykk. Bruk følgende spørsmål til å implementere Coalesce -funksjonen på et enkelt uttrykk:

Velg Coalesce (56);

Resultatet av den forrige spørringen vil være som følger:

56
(1 rad)

Coalesce -funksjonen starter søket, og det første uttrykket er ikke null slik at det vil returnere det uttrykket, i.e., 56.

Nå bruker vi coalesce -funksjonen på et enkelt uttrykk, og verdien er null.

Velg Coalesce (NULL);

Det vil gi en tom respons fordi det bare er ett nulluttrykk og coalesce -funksjonen bare returnerer ikke nulluttrykket.

Bruke NVL -funksjonen

I dette eksemplet vil vi bruke NVL -funksjonen i stedet for Coalesce -funksjonen for å returnere den første ikke nullverdien.

Bruk følgende spørring for å bruke NVL -funksjonen i stedet for Coalesce -funksjonen:

Velg NVL (NULL, NULL, 100, NULL, 1000);

Det vil returnere følgende svar.

100
(1 rad)

Dette eksemplet viser at NVL fungerer nøyaktig det samme som Coalesce -funksjonen. Kort sagt, vi kan si at NVL er synonymt med Coalesce -funksjonen.

Bruke coalesce -funksjonen med tabeller

Denne delen vil bruke flere eksempler for å implementere Coalesce -funksjonen med tabeller. Først vil vi lage en tabell og sette inn data i den. Så vil vi bruke coalesce -funksjonen på denne tabellen.

Bruk følgende spørring for å opprette AWS_REDSHIFT_COALESCE Tabell i rødforskyvningsklyngen:

Lag tabell aws_redshift_coalesce (first_value int, second_value int);

Sett nå noen data i denne tabellen, inkludert noen nullverdier

sett inn i AWS_REDSHIFT_COALESCE VERDIER ('240', NULL);
sett inn i AWS_REDSHIFT_COALESCE VERDIER (NULL, '360');
sett inn i AWS_REDSHIFT_COALESCE VERDIER ('480', NULL);
sett inn i AWS_REDSHIFT_COALESCE VERDIER (NULL, '720');
sett inn i AWS_REDSHIFT_COALESCE VERDIER (NULL, '1080');

Etter å ha satt inn dataene, bruk coalesce -funksjonen på den ved å bruke følgende spørsmål:

Velg Coalesce (First_Value, Second_Value)
Fra AWS_REDSHIFT_COALESCE
bestill med 1;

Det vil generere følgende utgang:

240
360
480
720
1080
(5 rader)

Coalesce -funksjonen begynner å sjekke den første kolonnen. I den første kolonnen er 240, 480 og 1080 ikke nullverdiene. Så, samlesfunksjonen returnerer disse verdiene og sjekker deretter den andre kolonnen der den fant 360 og 720 som ikke nullverdier.

I det følgende eksempel vil vi bruke den samme tabellen for å forstå konseptet med Coalesce -funksjonen på en enkelt kolonne.

Velg Coalesce (First_Value)
Fra AWS_REDSHIFT_COALESCE
bestill med 1;

Denne spørringen, når den utføres, vil generere følgende utgang.

240
480
(2 rader)

I First_column, Bare 240 og 480 er ikke nullverdier. Så vil kokefunksjonen bare returnere disse to verdiene.

Hvis vi bruker coalesce -funksjonen på den andre kolonnen i tabellen.

Velg Coalesce (First_Value)
Fra AWS_REDSHIFT_COALESCE
bestill med 1;

Denne spørringen vil generere følgende resultat når det utføres:

360
720
1080
(3 rader)

I den andre kolonnen er 360, 720 og 1080 ikke nullverdiene. Så vil Coalesce -funksjonen bare returnere disse tre verdiene.

Konklusjon

I denne artikkelen studerte vi hvordan vi bruker Coalesce -funksjonen for å få det første ikke nulluttrykket. Coalesce -funksjonen er veldig nyttig for å finne ikke nullverdien fra dataene. Hvis alle kolonneverdiene er null, vil coalesce -funksjonen returnere det tomme resultatet. Det skal være det samme datatypen -uttrykket i enkeltkolonnen. Når coalesce -funksjonen finner ut ikke nulluttrykket, stopper den henrettelser, og de gjenværende uttrykkene forblir ukontrollert.