Oracle Coalesce -funksjonen

Oracle Coalesce -funksjonen
I dette innlegget vil vi lære å jobbe med Coalesce () -funksjonen for å hente den første ikke-nullverdien i en liste.

Introduksjon til Oracle Coalesce () -funksjon

Coalesce () -funksjonen lar deg spesifisere en liste over argumenter og returnere det første ikke-null-argumentet fra det medfølgende settet.

Vi kan uttrykke funksjonssyntaks som følger:

Coalesce (Expression1, Expression2, ..., Expressionn);

I den medfølgende syntaksen representerer Expression1, Expression2, ..., ExpressionN uttrykkene som skal evalueres for nullverdier.

Når funksjonen har møter den første ikke-nullverdien i listen over uttrykkelige uttrykk, returnerer den den verdien. Funksjonen returnerer imidlertid null hvis alle uttrykkene er null.

Ta dette eksemplet som demonstrerer den grunnleggende bruken av Coalesce () -funksjonen i Oracle -databaser:

Velg Coalesce (NULL, NULL, 1, 2, 3) som ut fra dual;

I forrige eksempel bruker vi Coalesce () -funksjonen med fem inngangsverdier eller uttrykk. Siden de to første verdiene er null, returnerer funksjonen den første verdien etter det som er heltall 1.

Eksempelutgang:

Ta dette andre eksemplet som viser returverdien hvis alle uttrykkene er null.

Velg Coalesce (NULL, NULL, NULL) som ut fra Dual;

Funksjonen returnerer null som vist i følgende:

Coalesce () -funksjonen returnerer samme datatype som inngangstypen hvis alle verdiene er av samme type.

Imidlertid, hvis inngangsuttrykkene er av forskjellige datatyper, prøver funksjonen å utføre en implisitt type konvertering på alle uttrykkene til datatypen til det første ikke-null-uttrykket.

Hvis konverteringen mislykkes, returnerer databasemotoren en feil.

Et eksempel er som demonstrert i følgende:

Velg Coalesce (null, null, null, 1, 'b') som ut fra dual;

I dette tilfellet er uttrykkene av forskjellige datatyper. Siden det første ikke-null-uttrykket er et tall, prøver funksjonen å konvertere alle uttrykk til talltypen som mislykkes siden karakteren “B” ikke kan konverteres til et tall.

Den resulterende feilen er som vist:

[42000] [932] ORA-00932: Inkonsekvente datatyper: Forventet antall fikk røye

Det er godt å huske på at funksjonen bruker kortslutningsevaluering. Dette betyr at funksjonen stopper ved å møte det første ikke-null-uttrykket. Selv om det er en feil etter det første ikke-null-uttrykket, vil det ikke registrere seg siden funksjonen ikke vil evaluere det.

Konklusjon

I dette innlegget oppdaget du arbeid og bruk av Oracle Coalesce () -funksjonen for å returnere det første ikke-null-argumentet i et uttrykk.