Welcome to Our Website

Oracle COALESCE-funktion (Dansk)

resum.: i denne tutorial lærer du, hvordan du bruger Oracle COALESCE() – funktionen til at returnere de første ikke-null-argumenter på en liste.

Introduktion til Oracle COALESCE ()-funktionen

OracleCOALESCE() – funktionen accepterer en liste over argumenter og returnerer den første, der evaluerer til en ikke-null-værdi.,

Det illustrerer følgende syntaks af Oracle COALESCE() funktion:

I denne syntaks, COALESCE() funktion returnerer første ikke-nul udtryk i listen. Det kræver mindst to udtryk. Hvis alle udtryk vurderes til null, returnerer funktionen null.,

følgende eksempel returnerer en, fordi det er den første ikke-null argument:

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

følgende eksempel returnerer null, fordi alle argumenterne er null:

Retur-type

Hvis alle argumenter er de samme data type COALESCE() funktion returnerer en værdi af den pågældende datatype.

Hvis argumenterne har forskellige datatyper, konverterer funktionen COALESCE() implicit alle argumenter til datatypen for det første ikke-null-argument., Hvis konverteringen mislykkes, udsteder Oracle en fejl.

følgende eksempel returnerer en værdi med tegntype, fordi alle argumenter er tegn.,

på samme måde, følgende eksempel returnerer en værdi med numerisk type:

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

Men det følgende eksempel bruger argumenter, som fremføres af forskellige former for COALESCE() funktion:

Oracle har udsendt følgende fejl:

Fordi COALESCE() funktion forsøgt at konvertere den karakter typen af det tredje argument om, at en numerisk type af andet argument, der resulterede i en fejl.,

kortslutningsevaluering

COALESCE() -funktionen bruger kortslutningsevaluering. Det betyder, at funktionen stopper med at evaluere de resterende udtryk, når den finder den første evaluerer til en ikke-null-værdi.

Overvej det følgende eksempel:

I dette eksempel COALESCE() funktion kun evalueret det første udtryk, fordi resultatet af den første udtryk var to (1+1). Det vurderede ikke det andet udtryk (1/0). Hvis det havde gjort det, ville Oracle have udstedt divisionen med nulfejl.,

Oracle COALESCE() eksempel

lad os oprette en prøvetabel til test.

Antag, at du skal optage nødkontakter for medarbejdere med forskellige telefonnumre: arbejdstelefon, hjemmetelefon og mobiltelefon. For at gøre det, skal du oprette en ny tabel, der hedder emergency_contacts som følger:

følgende udsagn indsætte nogle nødsituationer kontakter i tabellen:

Nogle kontakter, har kun arbejdet telefonen, mens andre kan have et hjem telefon og mobiltelefon eller ikke har et telefonnummer på alle.,

følgende forespørgsel henter medarbejderne og deres nødkontakter med telefonnumre:

i dette eksempel brugte vi funktionen COALESCE() til at vælge hjemmetelefon, arbejdstelefon eller mobiltelefon, hvis hver er tilgængelig. Hvis ingen telefonnumre er tilgængelige, returnerede vi N/A literal string, som står for ikke tilgængelig.,

i Det følgende vises resultatet af søgningen:

Oracle hånd i hånd() og CASE-udtryk

Du kan bruge COALESCE() funktion i stedet for den længere CASE udtryk, når det kommer til test for null i flere udtryk. Funktionen COALESCE() er mere kortfattet end et CASE udtryk, der involverer 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 tilfælde af to udtryk synes COALESCE() funktion og NVL() at være ens, men deres implementeringer er forskellige. Se følgende udsagn:

begge udsagn returnerer det samme resultat, som er et. FunktionenCOALESCE() evaluerer dog kun det første udtryk for at bestemme resultatet, mens funktionen NVL() evaluerer begge udtryk.,

Lad os se det følgende eksempel:

erklæringen ovenfor, returneres 1 henviser til den følgende eksempel medfører en fejl:

fejl er:

Fordi NVL() funktion evalueret det andet udtryk 1/0, der forårsager fejlen.

i denne tutorial har du lært, hvordan du bruger Oracle COALESCE() -funktionen til at returnere det første ikke-null-udtryk i en liste over udtryk.

  • var denne vejledning nyttig?,
  • YesNo

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *