Welcome to Our Website

Oracle SAMMENFATTET Funksjon

Oppsummering: i denne opplæringen vil du lære hvordan du bruker Oracle COALESCE() funksjon for å gå tilbake til det første ikke-null argumenter i en liste.

Introduksjon til Oracle SAMMENFATTET () – funksjonen

Oracle COALESCE() funksjon aksepterer en liste av argumenter og returnerer den første som evaluerer til en ikke-null-verdi.,

følgende illustrerer syntaksen for Oracle COALESCE() funksjoner:

I denne syntaks, COALESCE() funksjonen returnerer den første ikke-null til uttrykk i listen. Det kreves minst to uttrykk. I tilfelle alle uttrykk evaluerer til null, funksjonen returnerer null.,

følgende eksempel returnerer én fordi det er det første ikke-null-argumentet:

 RESULT---------- 1

følgende eksempel returnerer null fordi alle argumenter er null:

gå Tilbake type

Hvis alle argumentene må ha samme datatype, COALESCE() funksjon returnerer en verdi som data type.

Hvis argumenter har ulike datatyper, COALESCE() funksjon implisitt konverterer alle argumenter til datatypen for det første ikke-null-argumentet., I tilfelle konverteringen mislykkes, så Oracle problemer en feil.

følgende eksempel returnerer en verdi med karakter skriver fordi alle argumenter er tegn.,

på samme måte, følgende eksempel returnerer en verdi med numerisk type:

 RESULT---------- 1

Imidlertid følgende eksempel bruker argumenter av ulike typer for COALESCE() funksjon:

Oracle gitt følgende feil:

Fordi COALESCE() funksjon prøvde å konvertere karakter skriv inn av den tredje argument til en numerisk type av det andre argumentet som resulterte i en feil.,

Kort-krets evaluering

COALESCE() funksjon bruker kort-krets evaluering. Det betyr at funksjonen stopper å vurdere gjenværende uttrykk når det finner det første man vurderer til en ikke-null-verdi.

Tenk deg følgende eksempel:

I dette eksempelet COALESCE() funksjon bare evaluert den første uttrykket fordi resultatet av det første uttrykket var to (1+1). Det gjorde ikke vurdere andre uttrykk (1/0). Hvis det hadde gjort det, Oracle ville ha utstedt av divisjon med null feil.,

Oracle SAMMENFATTET() eksempel på

La oss sette opp en tabell for eksempel testing.

Tenk deg at du har for å ta opp disse kontaktpersonene av ansatte med ulike telefonnumre: telefon arbeid, fasttelefon og mobiltelefon. For å gjøre det, du kan opprette en ny tabell som heter emergency_contacts som følger:

følgende uttalelser sette inn noen akutt kontakter inn i tabellen:

Noen av kontaktene du har bare arbeidet telefonen mens andre kan ha en fasttelefon og mobiltelefon, eller ikke har noen telefonnummeret i det hele tatt.,

følgende spørring henter de ansatte og deres beredskap kontakter med telefonnumre:

I dette eksempelet har vi brukt COALESCE() – funksjonen for å velge home-telefon, arbeid, mobiltelefon eller mobiltelefon om hver enkelt er tilgjengelig. I tilfelle ingen telefonnumre er tilgjengelig, dro vi tilbake N/A bokstavelig strengen som står for ikke er tilgjengelig.,

følgende viser resultatet av spørringen:

Oracle SAMMENFATTET() og CASE-uttrykk

Du kan bruke COALESCE() funksjon i stedet for lenger CASE uttrykk når det gjelder å teste for null i flere uttrykk. COALESCE() funksjon er mer kortfattet enn en CASE uttrykk som innebærer null evalueringer.,

If you check for NULL in two expressions, the COALESCE() function is equivalent to the CASE expression.

For example, the following COALESCE() function:

is equivalent to:

Likewise,

is equivalent to

Oracle COALESCE() vs. NVL()

The COALESCE() function is a part of SQL ANSI-92 standard while NVL() function is Oracle specific.,

I tilfelle av to uttrykk, COALESCE() funksjon og NVL() ser ut til å være lik, men implementeringer er forskjellige. Se følgende utsagn:

Begge uttalelsene tilbake samme resultat som er ett. Imidlertid, COALESCE() funksjon vurderer bare det første uttrykk for å bestemme resultatet, mens NVL() funksjonen evaluerer både uttrykk.,

La oss se på følgende eksempel:

uttalelsen ovenfor returnert 1 mens følgende eksempel forårsaker en feil:

feil:

Fordi NVL() funksjon vurdert andre uttrykk 1/0 som forårsaker feilen.

I denne opplæringen, har du lært hvordan du bruker Oracle COALESCE() funksjon for å gå tilbake til det første ikke-null til uttrykk i en liste over uttrykk.

  • Var denne opplæringen nyttig?,
  • YesNo

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *