Fióküzemeltetők a Select parancsban. NVL konverzió különböző adattípusokhoz Laboratóriumi munka

Funkció To_Char számokkal

Adatkonverziós funkciók más adattípusokhoz. To_char (szám) egy számot szövegbe konvertál. To_number átalakítja a szöveget a számra.

Válassza a To_Char (123) a Dual-tól, visszaadja a 123 vonalat, válassza a To_Number (`12345) lehetőséget a Dual-tól a 12345 számot.

Laboratóriumi munka. A kimeneti számok formátumának megváltoztatása

Az Oracle SQL numerikus értékek formátumában bekövetkezett változások, a TO_CHER funkció numerikus értékekkel dolgozhat.

A feladat:

Írjon egy olyan kérést, amely megjelenítené az alkalmazottak nevét, vezetéknevét és fizetését a HR.employes táblázatból az 1. ábrán bemutatott formátumban. 3.4-1:

Ábra. 3.4. -1

Ugyanakkor az adatokat úgy kell rendezni, hogy a legnagyobb fizetéssel rendelkező munkavállalók sorai először jelenjenek meg.

Jegyzet:

Néhány bér. 3.4-1 változott, így előfordulhat, hogy nem egyeznek meg az értékekkel.

Döntés:

Válassza a FIRST_NAME mint "NAME", LAST_NAME AS "Név", To_Char (fizetés, "L999999999.99") "Saláta" a Hr.employes megrendelésről a Salary Desc.

Funkciók to_number és to_date

Sor konverziós funkció a T_DATE dátumnál (string, formátum). A lehetséges formátumokat már figyelembe vették, ezért néhány példát adok a funkció használatára. Példák:

Kiválaszt To_date (01.01.2010, `dd.mm.yyyy) Tól től. Kettős visszaadja a `01.01.2010" dátumot;

Kiválaszt To_date (01.jan.2010, `dd.mon.yyyy) Tól től. A kettős visszaadja a `01.01.2009" dátumot;

Kiválaszt To_date ("15-01-10", `dd-mm-yy") Tól től. Dual visszaadja a `01/15/2010.

Sor konverziós funkció a numerikus értékre, a_number (string, formátum). A leggyakoribb formátumok szerepelnek a táblázatban, ezért fontolja meg a funkció használatát a példákon. Példák:

Kiválaszt To_number (`100") Tól től. Dual visszaadja a 100-as számot a to_number (`0010.01," 9999D99) Tól től. Dual visszaadja a 10.01-es számot;

Kiválaszt To_number ("500.000", "999G999") Tól től. A kettős visszaadja az 500000-es számot.

RR elem dátumformátumban

Az elem a dátum és az idő RR formátum hasonló a YY dátum és idő formátum elem, de ez további rugalmasságot nyújt, hogy tárolja a dátumot értékek és más században. Az RR dátumok és az időformátum egy eleme lehetővé teszi, hogy a XX. Században a 21. században tárolja, csak az év két utolsó számjegyét jelzi.

Ha a folyó év utolsó néhány alakja 00-49, akkor a visszatérési évnek ugyanaz az első két számjegye, mint az aktuális évben.

Ha az aktuális év két utolsó alakja 50-től 99-ig, a visszaküldött év első két számjegye 1 több, mint az aktuális év első két számjegye.

Ha a folyó év két utolsó alakja 00-49, akkor a visszaküldött év első két számjegye 1 kevesebb, mint az aktuális év első két számjegye.

Ha az aktuális év két utolsó alakja 50 és 99 között, akkor a visszaküldött évnek ugyanaz az első két számjegye, mint a folyó évben.

NVL funkció

Az NVL funkciót általában leggyakrabban alkalmazzák. A funkció két paramétert kap: NVL (expr1, exerg2). Ha az első expr1 paraméter nem egyenlő NULL, akkor a funkció visszaadja értékét. Ha az első null paraméter, akkor a funkció az Exerg2 második paraméterének értékét adja vissza.

Példa: Válassza ki az NVL (SHANGE_CITY, N / A) lehetőséget a beszállítóktól:

Az SQL utasítás n / ", ha a SOCMENT_CITY mező nulla értéket tartalmaz. Ellenkező esetben visszaadja az értéket a SODING_CITY-t.

Egy másik példa az NVL funkció használatára az Oracle / PLSQL-ben:

válassza ki a SAVERNATION_ID, NVL (SOVE_DESC, SOVE_NAME) lehetőséget.

Ez az SQL alkalmazás visszatér szállító neve. Mező, ha szállítói_desc. nulla értéket tartalmaz. Egyébként visszatér szállítói_desc..

Utolsó példa: Az NVL funkció használata az Oracle / PLSQL-ben: Válassza ki az NVL (jutalék, 0) értékesítést;

Ez az SQL utasítás 0-ra visszatért jutalék A mező nulla értéket tartalmaz. Ellenkező esetben visszatérhet jutalék terület.

NVL konverzió különböző adattípusokhoz

Határozatlan érték konvertálásához az aktuális funkcióhoz az NVL funkciót használják: NVL ( expresszion1, expresszió 2), hol:

kifejezés1- Forrás vagy számított érték, amely bizonytalan lehet.

expresszion2. - határozatlan érték helyett helyettesített érték.

Jegyzet: Az NVL funkció használható bármilyen típusú adat konvertálására, de az eredmény mindig azonos típusú lesz expresszion1.

NVL konverzió különböző típusokhoz:

Szám - NVL. (Numerikus oszlop, 9).

Char vagy varchar2 - NVL (Szimbólumok | oszlop, "Nem elérhető").

Laboratóriumi munka. Az NVL funkció alkalmazása

Az NVL funkció bizonytalan értékekkel dolgozik az Oracle SQL-ben.

A feladat:

Írjon egy olyan kérelmet, amely információt mutat a HR.employes asztali személyzetének nevétől és vezetéknevétől., Valamint a Bizottság ajánlata (oszlop_pct) a munkavállaló számára. Ugyanakkor azoknak az alkalmazottaknak, akiknek a Bizottság nincs meghatározva, meg kell jeleníteni a 0-as értéket. A lekérdezés eredménye az 1. ábrán bemutatottnak kell lennie. 3.5-1.

Ábra. 3.5 -1 (az értékek az 51-es vonalból indulnak)

Döntés:

A megfelelő kérés kódja lehet:

Válassza ki a FIRST_NAME mint "NAME", LAST_NAME AS "SHOURNAME", NVL (CISTRIST_PCT, 0) "CONTRIST_PCT, 0), mint" jutalék arány "a hr.employesektől.

NVL funkció

Az NVL funkciót általában leggyakrabban alkalmazzák. A funkció két paramétert kap: NVL (expr1, expr2). Ha az első expr1 paraméter nem egyenlő NULL, akkor a funkció visszaadja értékét. Ha az első null paraméter, akkor a funkció visszaadja a második expr2 paraméter értékét.

Fontolgat gyakorlati példa. Az EMP táblázatban lévő kommunikációs terület null értékeket tartalmazhat. Az űrlap lekérdezésekor:

Válassza az EMPNO, ENAME, COMM, NVL (COMM, 0) NVL_COMM

Scott.emp-től

null értéke helyett nulla lesz. Kérjük, vegye figyelembe, hogy az érték kialakítása esetén a funkció segítségével egy álnévre van hozzárendelve. Az eredmények kérése:

Empno. Választ. Comm. Nvl_comm.
7369 Kovács 0
7499 Allen 300 300
7521 Egyházközség 500 500
7566 Jones 0
7654 Márton. 1400 1400
7698 Blake 0
7782 Clark. 0
7839 Király. 0
7844 Esztergályos 0 0
7900 James. 0
7902 Fordulat 0
7934 Molnár 0

Ceil (n)

A Ceil funkció a legkisebb egész számot, nagyobb vagy egyenlő az N. számmal Például:

Válassza ki a Ceil (100) X1, Ceil (-100) X2, Ceil (100.2) X3, Ceil (-100,2) x4

Kettős

Trunc funkció (n [, M])

A TRUCK funkció a tizedespont után visszaadja az M jeleket. Az M paraméter nem feltétlenül jelezhető - ebben az esetben N csonkolt az egészre.

Válassza ki a TRICK (100.25678) X1, TRUCH (-100.25678) X2, TRICK (100,99) x3,

TRUCH (100.25678, 2) x4

Kettős

Sign (N) funkció

A jelzési funkció meghatározza a számok számát. Ha n pozitív, akkor a függvény visszatér 1, ha negatív visszatér -1. Ha nulla nulla, akkor 0 visszaad. Például:

Válassza ki a jel (100.22) x1, Sign (-100.22) x2, Sign (0) x3

Kettős

Ennek a tulajdonságnak az érdekes tulajdonsága az a lehetőség, hogy az M egyenlőséget nulla lehet-e az osztály hibáinak 0-ra.

POWER (N, M) funkció

A tápfeszültség függvénye az n számot az m fokig. A diploma lehet frakcionált és negatív, ami jelentősen bővíti a funkció képességeit.

Válassza ki a tápellátást (10, 2) x1, Power (100, 1/2) x2,

Teljesítmény (1000, 1/3) x3, teljesítmény (1000, -1/3) x4

Kettős

X1 X2 X3. X4.
100 10 10 0,1

Bizonyos esetekben, amikor ezt a funkciót hívják, kivétel történhet. Például:

Válassza ki a teljesítményt (-100, 1/2) x2

Kettős

BAN BEN ez az eset A negatív számból származó négyzetgyöki gyökér kiszámítására tett kísérlet, amely az ORA-01428 hibát eredményezi "az argumentum a tartományon kívül".

SQRT (N) funkció

Ez a funkció visszatér négyzetgyök n számból. Például:

Válassza az SQRT (100) x lehetőséget

Kettős

Funkciók exp (n) és ln (n)

Az EXP funkció E-t az N fokozatba emeli, és az LN funkció kiszámítja az N természetes logaritmust N, N-nél nagyobbnak kell lennie, mint nulla). Példa:

Válasszon exp (2) x1, ln (1) x2, ln (exp (2)) x3

NVL funkció

Az NVL funkciót általában leggyakrabban alkalmazzák. A funkció két paramétert kap: NVL (expr1, expr2). Ha az első expr1 paraméter nem egyenlő NULL, akkor a funkció visszaadja értékét. Ha az első null paraméter, akkor a funkció visszaadja a második expr2 paraméter értékét.

Fontolja meg a gyakorlati példát. Az EMP táblázatban lévő kommunikációs terület null értékeket tartalmazhat. Az űrlap lekérdezésekor:

Válassza az EMPNO, ENAME, COMM, NVL (COMM, 0) NVL_COMM

Scott.emp-től

null értéke helyett nulla lesz. Kérjük, vegye figyelembe, hogy az érték kialakítása esetén a funkció segítségével egy álnévre van hozzárendelve. Az eredmények kérése:

Empno. Választ. Comm. Nvl_comm.
7369 Kovács 0
7499 Allen 300 300
7521 Egyházközség 500 500
7566 Jones 0
7654 Márton. 1400 1400
7698 Blake 0
7782 Clark. 0
7839 Király. 0
7844 Esztergályos 0 0
7900 James. 0
7902 Fordulat 0
7934 Molnár 0

Ceil (n)

A Ceil funkció a legkisebb egész számot, nagyobb vagy egyenlő az N. számmal Például:

Válassza ki a Ceil (100) X1, Ceil (-100) X2, Ceil (100.2) X3, Ceil (-100,2) x4

Kettős

Trunc funkció (n [, M])

A TRUCK funkció a tizedespont után visszaadja az M jeleket. Az M paraméter nem feltétlenül jelezhető - ebben az esetben N csonkolt az egészre.

Válassza ki a TRICK (100.25678) X1, TRUCH (-100.25678) X2, TRICK (100,99) x3,

TRUCH (100.25678, 2) x4

Kettős

Sign (N) funkció

A jelzési funkció meghatározza a számok számát. Ha n pozitív, akkor a függvény visszatér 1, ha negatív visszatér -1. Ha nulla nulla, akkor 0 visszaad. Például:

Válassza ki a jel (100.22) x1, Sign (-100.22) x2, Sign (0) x3

Kettős

Ennek a tulajdonságnak az érdekes tulajdonsága az a lehetőség, hogy az M egyenlőséget nulla lehet-e az osztály hibáinak 0-ra.

POWER (N, M) funkció

A tápfeszültség függvénye az n számot az m fokig. A diploma lehet frakcionált és negatív, ami jelentősen bővíti a funkció képességeit.

Válassza ki a tápellátást (10, 2) x1, Power (100, 1/2) x2,

Teljesítmény (1000, 1/3) x3, teljesítmény (1000, -1/3) x4

Kettős

X1 X2 X3. X4.
100 10 10 0,1

Bizonyos esetekben, amikor ezt a funkciót hívják, kivétel történhet. Például:

Válassza ki a teljesítményt (-100, 1/2) x2

Kettős

Ebben az esetben kísérletet tesznek arra, hogy negatív számból származó négyzetgyöket kiszámítson, amely az ORA-01428 "A tartományon kívüli érv" hibát eredményez.

SQRT (N) funkció

Ez a funkció n számú négyzetgyöket ad vissza. Például:

Válassza az SQRT (100) x lehetőséget

Kettős

Funkciók exp (n) és ln (n)

Az EXP funkció E-t az N fokozatba emeli, és az LN funkció kiszámítja az N természetes logaritmust N, N-nél nagyobbnak kell lennie, mint nulla). Példa:

Válasszon exp (2) x1, ln (1) x2, ln (exp (2)) x3

Befektetett funkciók, amelyeket egy kicsit korábban megérintettünk, most egy kicsit részletesebbnek tartjuk őket. Azt is figyelembe vesszük, hogy a NULL értékének és az ágazati működésnek a kérés során segítséget nyújtunk.

Beágyazott funkciók

Beágyazott funkciók Az egyik funkció visszaküldött értékét a másik funkció bemeneti paraméterként használja. A funkciók mindig csak egy értéket adnak vissza. Ezért figyelembe veheti a funkció funkciójának eredményét szó szerinti értékként, ha hívásparaméterként használja a másik funkciót. A vonalfunkciók bármely fészkeléshez csatlakoztathatók. Hívja az egyik funkciót

Funkció1 (paraméter1, paraméter2, ...) \u003d Eredmény

A függvényparaméter felváltása Egy másik funkció hívásához a fajok megjelenéséhez vezethet

F1 (Param1.1, F2 (Param2.1, Param2.2, F3 (Param3.1)), Param1.3)

Először a beágyazott funkciókat az eredmények más funkciók bemeneti értékeként használják. A funkciókat a legmélyebb fészkelésből a legfelső bal oldali jobbra számítják. A korábbi kifejezés az alábbiak szerint történik

  1. Az F3 (param1) ábra kiszámításra kerül, és a visszatérési értéket harmadik paraméterként használják a 2. funkcióhoz, hívjuk param2.3
  2. A funkció F2 ezután számítjuk (param1, param2.2, param2.3) és a visszatérő értéket használjuk, mint a második paramétert F1 funkció - Param1.2.
  3. Végül az F1 (param1, param2, param1.3) funkció kiszámítása és az eredmény visszaküldik a hívóprogramba.

Így az F3 funkció a harmadik fészkelő szintben van.

Fontolja meg a kérést

select_day (last_day (sysdate) -7, 'tue') kettős;

  1. Ebben a lekérdezésben három funkció, az alsó szinttől a tetejére - sysdate, last_day, next_day. A kérést az alábbiak szerint végezzük.
  2. A leginkább beágyazott sysdate funkció történik. Visszaadja az aktuális rendszeridőt. Tegyük fel, hogy az aktuális dátum 2009. október 28.
  3. Az eredmény a last_day második szintű funkciójának eredménye. Last_date ('28 -oxxt-2009) visszaadja a 2009. októberi utolsó napot, vagyis a 2009. október 31-i értéket.
  4. Ezután a kivonás hét naptól fogva következik be - október 24-én kiderül.
  5. És végül, a funkció next_day ('24 -OXT 2009 „” K „) úgy kell kiszámítani, és a kérelmet visszatér a múlt kedden, október -, hogy a mi 27. példa október 2009.

Meglehetősen nehéz megérteni és komplex kifejezéseket építeni a funkciók sokféle kihívásával, de idővel és gyakorlattal jár. Megszakíthatja az ilyen kifejezéseket az részen, és külön tesztelheti. A DUAL TABLE nagyon hasznos a Z.AProsov teszteléséhez és a funkció funkciójának eredményeihez. A kis alkatrészeket tesztelheti és hibakeresését, majd egy nagy kívánt kifejezésre kombinálhatja.

Fiókfunkciók

Branch funkciók, más néven, mintha valami más - másképp használják a végrehajtási útvonal bármely körülményektől függően. Az elágazás funkciói különböző eredményeket hoznak létre az állapot kiszámításának eredménye alapján. Az ilyen funkciók csoportja a NULL: NVL, NVL2, NULLIF és COALESCE értékével való együttműködés funkcióit osztja ki. Valamint a dekódolási funkció és az eset expressziója által képviselt közös jellemzők. A dekódolási funkció egy Oracle funkció, míg az esküvő az ANSI SQL szabványban van jelen.

NVL funkció

Az NVL funkció ellenőrzi az oszlop értékét, vagy adattípusokat expresszál a null-hoz. Ha null - egy alternatív, nem null alapértelmezett értéket ad vissza, különben a kezdeti értéket visszaküldi.

A NVL függvény két szükséges paraméterek és NVL szintaxis (Original, ifNull), ahol az eredeti az eredeti érték ellenőrzésére és ifnull által kapott eredmény függvényében, ha az eredeti érték NULL. Az IFNull és az eredeti paraméterek adatainak típusának kompatibilisnek kell lennie. Vagyis az adattípusnak azonosnak kell lennie, vagy az értékek implicit átalakításának lehetősége az egyik típusról a másikra. Az NVL funkció ugyanazt az adattípus értékét adja vissza, mint az eredeti paraméter adattípusa. Tekintsük három kérést

1. lekérdezés: Válassza ki az NVL (1234) a kettős;

2. lekérdezés: Válassza ki az NVL (NULL, 1234) kettős;

3 lekérdezés: Válassza ki az NVL (SUPTR ('ABC', 4), "NEM ALKALMAZHATÓ LÉPÉS") a kettős;

Mivel az NVL funkciók két paramétert igényelnek, a lekérdezés 1 visszaadja az ORA-00909 hibát: Érvénytelen érvek száma. A 2. kérelem 1234-et ad vissza, mivel a null értéket ellenőrzik, és NULL. A Harmadik kérdést a beágyazott substr funkciót használják, amely megpróbálja kiválasztani a negyedik karaktert egy karakterláncból három karakterből, visszaadja a null értéket, és az NVL funkció visszaadja a "No Sbustring lét" karakterláncot.

Az NVL funkció nagyon hasznos, ha számokkal dolgozik. A NULL értékek 0-ra történő átalakítására szolgál számtani műveletek Nulls nem tér vissza a számok

NVL funkció2

Az NVL2 funkció jobban funkcionális, mint az NVL, hanem a null érték feldolgozására is szolgál. Ellenőrzi az oszlop vagy kifejezések értékét bármilyen típusú null. Ha az érték nem egyenlő , akkor a második paraméter is részt vesz, különben a harmadik paraméter visszaáll, ellentétben az NVL funkcióval, amely ebben az esetben visszaadja a kezdeti értéket.

Az NVL2 funkció három szükséges paraméterrel és NVL2 szintaxissal (eredeti, ifnot, ifnull) rendelkezik, ahol az eredeti érvényes érték, az IFNotnull érték visszatért az eredeti esetben NULL és IFNULL visszatért az ügyben, ha az eredeti NULL. Az IFNOTNULL és IFNILL paraméterek adatai kompatibilisnek kell lenniük, és nem lehetnek hosszúak. Az NVL2 visszaküldött funkció adattípusa megegyezik az IFNotnull paraméter adatainak típusával. Fontolja meg néhány példát

1. lekérdezés: Válassza ki az NVL2 (1234, 1, 'karakterláncot) a kettős;

2. lekérdezés: Válassza ki az NVL2 (NULL, 1234, 5678) kettős;

3. lekérdezés: Válassza az NVL2 (SUPTR ('ABC', 2), 'NEM BC', 'NEM ALKALMAZÁSÁOT') lehetőséget a kettős;

Ifnotnull paraméter a lekérdezésben 1 a szám, és az IFNull paraméter egy karakterlánc. Mivel az adattípusok nem kompatibilisek, az "ORA-01722: Érvénytelen szám" hiba kerül visszaadásra. Queue Két visszaadja az IFNull paramétert, mivel az eredeti NULL, és az eredmény 5678 lesz. A három lekérdezés a "BC" -t, és hívja az NVL2-t ('BC', 'NEM BC "-t, amely visszatér ifnotnull paraméter - "NEM BC".

NULLIF funkció

A NULLIF funkció két azonosító értéket ellenőrzi. Ha ugyanazok - null visszaküldnek, másként az első paramétert visszaküldjük. A NULLIF funkciónak két kötelező paramétere és szintaktikai nullif (ifunequal, összehasonlítás_item) van. A funkció összehasonlítja a két paramétert, és ha azonos - null visszaküldése, egyébként az ifunqual paraméter. Fontolja meg a kéréseket

Lekérdezés 1: Válassza ki a NULLIF (1234, 1234) kettős;

A kérelem visszaadja NULL-t, mivel a paraméterek azonosak. A 2. lekérdezés sorai nem konvertálódnak a dátumra, hanem vonalakként hasonlítanak össze. Mivel különböző hosszúságú sorok - visszaadja az IFUNEQUAL 24-JUR-2009 paramétert.

A 10-4. Ábra a NULLIF funkciót az NVL2 funkcióba fektetik be. A NULLIF funkcióban viszont az IFUNEQUAL paraméterben lévő expresszió részeként alkalmazzuk az SUPTR és felső funkciókat. Az e-mail oszlopot összehasonlítjuk ezzel az expresszióval, amely visszaadja a név első betűjét, egyesítve a névhez tartozó alkalmazottakhoz, akiknek neve 4 karakter. Ha ezek az értékek egyenlőek, a NULLIF visszatér Null, az ifunqual paraméter értéke visszaadja az értéket. Ezeket az értékeket az NVL2 funkció paraméterként használják. NVL2 viszont visszaadja annak leírását, hogy a kompatibilis elemek egybeesnek-e vagy sem.

10-4. Ábra - NULLIF funkcióval

Cociesce funkció

A Soalesce funkció visszaadja az első értéket, amely nem egyenlő a NULL-vel a paraméterlistából. Ha az összes paraméter , null visszaküld. A Soalesce funkció két szükséges paraméterrel és hány opcionális paraméterrel és szociesce szintaxist (expr1, expr2, ..., exprn), ahol az eredmény expr1, ha az expr 1h null értéke, egyébként az eredmény expr2 lesz, ha nem null stb. A koaleszce egyformán az NVL funkciók jelentése

Cociesce (expr1, expr2) \u003d NVL (expr1, expr2)

Cociesce (expr1, expr2, expr3) \u003d NVL (expr1, NVL (expr2, expr3)))

Adat típus Visszatérő érték Ha nem null null értéke megegyezik az első nem null érték adattípusával. Az ORA-00932 hiba elkerülése érdekében az összes nem null paraméternek kompatibilisnek kell lennie az első nem null paraméterrel. Tekintsünk három példát

Lekérdezés 1: Válassza ki a koalátumot (, , , "egy karakterlánc") a kettős;

2. lekérdezés: Válassza ki a koalátumot (, , null) kettős;

3. lekérdezés: Válassza ki a koalátumot (SUPTR ('ABC', 4), 'NEM BC', 'NEM SUBSTRING') a kettős;

Az 1. kérelem visszaadja a negyedik paramétert: String, mivel ez az első null paraméter. A lekérdezés két visszatér NULL, mivel az összes paraméter nulla. A 3. kérelem kiszámítja az első paramétert, megkapja a null értéket, és visszaadja a második paramétert, mivel ez az első nem null paraméter.

Az NVL2 funkcióparaméterek megzavarhatják, ha már ismeri az NVL funkciót. Az NVL (eredeti, ifnull) eredeti, ha az érték nem , egyébként ifnull. Az NVL2 (eredeti, ifnot, ifnull) visszaadja, ha az eredeti érték nem egyenlő az ifnullnál kívüli nullával. Az összetévesztés azért következik be, hogy a funkció második paramétere NVL IFNULL, míg az NVL2 IFNOTNULL. Tehát ne remélem, hogy a paramétert a funkcióba helyezze.

Dekódolás funkció

A dekódolási funkció végrehajtja az IF-majd-más logikát. Az első két paramétert az egyenlőségenkénti és a harmadik értéket az egyenlőtlenség vagy az egyenlőtlenség eseti értéke esetén visszaküldi. A dekódolási funkció három szükséges paraméterrel és szintaxis dekóddal rendelkezik (expr1, comp1, iftrue1 ,,). Ezeket a paramétereket a következő pszeudo-kód példa szerint használják.

Ha expr1 \u003d Comp1, akkor térjen vissza IfTrue1-re1

Más, ha expr1 \u003d comp2, akkor térjen vissza iftrue2

Más, ha exprn \u003d compn, akkor térjen vissza iftruen

Else Visszatérés NULL | IFFALSE;

Először az Expr1-t összehasonlítjuk a Comp1-vel. Ha egyenlőek az IFTRUE1 értékével. Ha az expr1 nem felel meg a Comp1-vel, akkor mi történik tovább, attól függ, hogy a COMM2 és IFTRUE2 paraméterei megadódnak-e. Ha beállítja a készleteket, az expr1 értéket összehasonlítjuk a Comp2-vel. Ha az értékek egyenlőek, az IFTRUE2 visszatér. Ha nem, ha vannak COMPN paraméterpárok, az IFTRUEN összehasonlítja az expr1-et, és az IFTRUEN-t az egyenlőség esetén visszaküldi. Ha semmilyen paramétert nem véletlen egybeesés, akkor visszaadódik, ha ezt a paramétert beállították, vagy null.

A dekódolás funkció összes paramétere lehet kifejezők. A visszaküldött érték típusa megegyezik az első ellenőrzési elem típusával - a paramétercOMP 1. expr kifejezés 1 implicit módon átalakul a Comp paraméter adattípusára1. Minden más elérhető COMP opció1 ... COMPN. Implicit módon átalakítva a COMP típusra1. A dekódolás null értéket vesz igénybe egy másik null értékkel, azaz Ha az expr1 null és a Comp3 NULL, és a Comp2 nem , akkor az IFTRUE3 értéket visszaküldi. Fontolja meg néhány példát

1. lekérdezés: Válassza ki a dekódolást (1234, 123, '123 egy mérkőzés) kettős;

2. lekérdezés: Válassza ki a dekódcsont (1234, 123, '123 egy mérkőzés, "nincs egyezés") kettős;

3. lekérdezés: Válassza ki a dekódolást ("Keresés", "Comp1", "True1", "Comp2", "True2", "Keresés", "True3", Substr ("2Search", 2, 6), "True4", hamis ") kettős;

A kérelem összehasonlítja az 1234 és 123 értéket. Mivel ezek nem egyenlőek, akkor az IfTrue1 figyelmen kívül hagyása és mivel nincs meghatározva, ha null visszatért. A lekérdezés megegyezik az 1 lekérdezéssel, kivéve az IFFALSE értéket. Mivel 1234 nem egyenlő 123-nak, az IFFalse visszatért - "nincs egyezés". A lekérdezés három ellenőrzi a keresési érték megfelelő paraméterértékeit. A Comp1 és a Comp2 paraméterei nem egyenlőek a "keresés", az IfTrue1 és Iftrue2 eredményei kihagyásra kerülnek. A koincidencia megtalálható a harmadik összehasonlító összehasonlítása GÉP3 elem (Pozíció paraméter 6) és a IFTrue3 értékét (paraméter 7) vissza, amely „True3”. Mivel a véletlen egybeesés több számítás nem történik meg. Vagyis annak ellenére, hogy az érték COMP4 (paraméter 8) egybeesik KIF1 - ez a kifejezés nem számított, mivel a véletlen találták az előző képest.

Esettanulmány

Minden harmadik és negyedik generációs programozási nyelv végrehajtja az ügytervét. Mint a dekódolás funkció, az esettanulási kifejezés lehetővé teszi, hogy végrehajtja az IF-majd-más logikát. Két lehetőség az eset expressziójának használatához. Az egyszerű eset-kifejezés összeállítja a forráselemet, hogy összehasonlítsa az összes szükséges ellenőrzési feltételeket. Komplex (keresett) tok kiszámítja mindkét üzemeltetőt minden egyes állapotban.

Az eset expressziója három kötelező paraméterrel rendelkezik. A kifejezés szintaxisa a típustól függ. Egy egyszerű kifejezés esetén úgy néz ki

CASE SEARCH_EXPR.

Ha összehasonlítás:

}