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øyeDet 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.