Welcome to Our Website

Oracle COALESCE Function (Magyar)

összefoglaló: ebben a bemutatóban megtudhatja, hogyan kell használni az Oracle COALESCE() függvényt az első nem null argumentumok visszaállításához a listában.

Bevezetés Az Oracle COALESCE() függvénybe

Az Oracle COALESCE() függvény elfogadja az argumentumok listáját, és visszaadja az elsőt, amely értékel egy nem null értéket.,

az alábbiak szemléltetik az Oracle COALESCE() függvény szintaxisát:

ebben a szintaxisban a COALESCE() függvény az első nem null kifejezést adja vissza a listában. Legalább két kifejezést igényel. Abban az esetben, ha az összes kifejezés null értékre értékelődik, a függvény null értéket ad vissza.,

a következő példa az egyiket adja vissza, mert ez az első nem null argumentum:

a következő példa null értéket ad vissza, mivel minden argumentum null:

Ha minden argumentum null ugyanaz az adattípus, a COALESCE() függvény az adott adattípus értékét adja vissza.

Ha az argumentumok különböző adattípusokkal rendelkeznek, akkor a COALESCE() függvény implicit módon átalakítja az összes argumentumot az első nem null argumentum adattípusává., Abban az esetben, ha az átalakítás sikertelen, akkor az Oracle hibát ad ki.

a következő példa egy karaktertípusú értéket ad vissza, mivel minden argumentum karakter.,

Hasonlóképpen, a következő példa egy értéket a numerikus típus:

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

Azonban a következő példában érvek különböző típusú a COALESCE() funkció:

Oracle kiadott, a következő hibaüzenet jelenik meg:

Mert COALESCE() funkció megpróbálta átalakítani a karakter típusú a harmadik érv, hogy egy numerikus típusú, a második érv, hogy a hibára.,

rövidzárlat értékelés

aCOALESCE() függvény rövidzárlat értékelést használ. Ez azt jelenti, hogy a függvény leállítja a fennmaradó kifejezések értékelését, miután megtalálta az elsőt nem null értékre értékelve.

vegye figyelembe a következő példát:

ebben a példában a COALESCE() függvény csak az első kifejezést értékelte, mert az első kifejezés eredménye kettő volt (1+1). Nem értékelte a második kifejezést (1/0). Ha ez megtörtént volna, az Oracle nulla hibával kiadta volna a felosztást.,

Oracle COALESCE () example

állítsunk be egy minta táblázatot a teszteléshez.

tegyük fel, hogy különféle telefonszámokkal kell rögzítenie az alkalmazottak vészhelyzeti kapcsolatait: munkahelyi telefon, otthoni telefon, mobiltelefon. Ehhez hozzon létre egy új táblázatot, melynek neve: emergency_contacts az alábbiak szerint:

a következő állítások néhány vészhelyzeti névjegyet beillesztenek a táblázatba:

néhány névjegynek csak telefonja van, míg másoknak otthoni telefonja és mobiltelefonja van, vagy egyáltalán nincs telefonszáma.,

a következő lekérdezés az alkalmazottakat és a vészhelyzeti kapcsolattartókat a következő telefonszámokkal keresi meg:

ebben a példában aCOALESCE() funkciót használtuk az otthoni telefon, a munkahelyi telefon vagy a mobiltelefon kiválasztásához, ha mindegyik elérhető. Abban az esetben, ha nem állnak rendelkezésre telefonszámok, visszaküldtük a N/A szó szerinti karakterláncot, amely nem érhető el.,

a következő a lekérdezés eredményét mutatja:

Oracle COALESCE() és CASE expression

használhatja a COALESCE() függvény helyett a hosszabb CASE kifejezés, amikor tesztelni null több kifejezést. ACOALESCE() függvény tömörebb, mint aCASE kifejezés, amely null értékeléseket tartalmaz.,

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.,

két kifejezés esetén aCOALESCE() függvény ésNVL() hasonlónak tűnik, de megvalósításuk eltérő. Lásd a következő állításokat:

mindkét állítás ugyanazt az eredményt adja vissza, amely egy. A COALESCE() függvény azonban csak az első kifejezést értékeli az eredmény meghatározásához, míg a NVL() függvény mindkét kifejezést kiértékeli.,

nézzük a következő példát:

A nyilatkozat fenti visszatért 1 mivel a következő példa hibát okoz:

A hiba:

Mert NVL() funkció értékelte a második kifejezés 1/0 okozza a hibát.

ebben az oktatóanyagban megtanulta, hogyan kell használni az Oracle COALESCE() funkciót az első nem null kifejezés visszaadásához a kifejezések listájában.

  • hasznos volt ez a bemutató?,
  • YesNo

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük