, generelle funktioner, generelle funktioner er vant til at håndtere deres værdier i databasen.formålet med den generelle for håndtering af funktioner er at erstatte de eksisterende værdier med en anden værdi.vi skal kort se gennem disse funktioner under., nvl, nvl funktion) en anden værdi for en ugyldig værdi., syntaks:, nvl (arg1, replace_with) i syntaks, både de parametre, der er obligatoriske.bemærk, at nvl funktion, arbejder med alle typer af datatyper.og også, at data type oprindelige snor og erstatning skal være forenelige, dvs. enten samme eller implicit, konverteres af oracle. hvis arg1 er en figur værdi, oracle omdanner udskiftning snor til datatype forenelig med arg1 før at sammenligne dem og kommer tilbage varchar2 karakter af expr1.hvis arg1 er numerisk, oracle bestemmer argument med højeste numeriske forrang, det andet argument om, at den implicit konverterer data type, og returnerer det datatype.de udvælger erklæring under vil vise 'n /a, hvis arbejdstageren ikke har været tilknyttet enhver opgave endnu, dvs. job_id er ugyldige.ellers ville det vise den faktiske job_id værdi. vælg first_name, nvl (job_id, »–«) fra ansatte, nvl2, som en forbedring i forhold til nvl oracle indført en funktion til at erstatte værdi, ikke kun for null kolonner værdier, men også for ikke er kolonner.nvl2 funktion, kan anvendes til at erstatte en anden værdi for ugyldig, samt ikke - ugyldig værdi., syntaks:, nvl2 (string1, value_if_not_null, value_if_null), den særlige erklæring under, ville vise 'bænk, hvis job_code for en arbejdstager, der er ugyldige.for en bestemt ikke er værdien af job - kode, det ville vise konstant værdi "job formålsbestemte., sql> udvælge nvl2 (job_code, job, der er tildelt ',' bænk") fra ansatte, nullif, nullif funktion sammenligner to argumenter, expr1 og expr2.hvis expr1 og expr2 er lige, det vender tilbage, for ellers, det vender tilbage, expr1.i modsætning til de øvrige for håndtering af funktion, første argument ikke kan være ugyldige., syntaks:, nullif (expr1, expr2), konstaterer, at den første argument kan være et udtryk, der vurderer til nul, men det kan ikke være den bogstavelige ugyldige.begge parametre er obligatorisk for den funktion at henrette, under spørgsmål tilbage, for da både input - værdier, 12 er lige. vælg nullif (12) fra dobbelt; ligeledes under spørgsmål tilbage sun, da begge tråde er ikke lige. vælg nullif (»sun "," moon ') fra dobbelt;, sammen, én funktion, en mere generel form af nvl, vender tilbage til den første ikke - retligt udtryk i argument liste.det tager mindst to obligatoriske parametre, men højst argumenter har ingen grænser., syntaks:, sammen (expr1, expr2...expr_n), finder nedenstående udvælge spørgsmål.kommissionen udvælger de første ikke ugyldig værdi tilført adresse inden for en ansat., udvælge dem (address1, address2, address3) adresse fra ansatte, det er interessant, at de arbejder for én funktion, er tilsvarende, hvis... elsif... endif konstruktion.forespørgslen ovenfor kan skrives som - hvis address1 er ikke er så resultat: = address1; elsif address2 er ikke er så resultat: = address2; elsif address3 er ikke er så resultat: = address3; andet resultat: = ugyldig; hvis; betinget funktioner, oracle er betinget af, at afkode og funktioner pålægge betingelser, selv i sql erklæring., afkode funktion, den funktion er sql ækvivalens, hvis.. så.. ellers betinget proceduremæssig redegørelse.tolke arbejder med værdier /kolonner /udtryk for alle datatyper, syntaks:, afkode (udtryk, søgning, resultat [, søgning, resultat]...[, default]), afkode funktion sammenligner udtryk for hver - værdi for.hvis ligheden er mellem ytringsfrihed og søge argumenter, så er det tilbage i de tilsvarende resultat.i tilfælde af ingen match, standardværdi er vendt tilbage, hvis defineret, andet).i tilfælde af en hvilken som helst type forenelighed misforhold, oracle internt er muligt implicit omstilling til at vende tilbage med resultaterne. faktisk mener, at to nulls oracle svarer, når man arbejder med at afkode funktion. vælg afkode (nul, nul, »equal«, ikke lige ") fra dobbelt; decod) lige, hvis udtryk er nul, så oracle afkast, resultatet af den første søgning, der også er ugyldige.det maksimale antal komponenter i afkode funktion er 255. vælg first_name, løn, afkode (hire_date, sysdate, new joinee,'employee) fra ansatte, sag udtryk, sag udtryk arbejder på samme koncept som dechifrerer, men adskiller sig i syntaks og anvendelse., syntaks: sag [udtrykket], når condition_1 så result_1, når condition_2 så result_2...når condition_n så result_n andet resultat, oracle eftersøgningen starter fra venstre og bevæger sig rightwards indtil vi finder en sande tilstand og så tilbage resultat udtryk, der er forbundet med det.hvis nogen betingelse er, viser sig at være sande, og en anden klausul eksisterer, så oracle udbyttet resulterer defineret med andre.ellers, oracle afkast for. det maksimale antal af argumenter i et tilfælde udtryk er 255.ethvert udtryk for tælle mod denne grænse, herunder den oprindelige udtryk for en enkel sag udtryk og valgfrit andet udtryk.hver, når...så par tæller for to argumenter.for at undgå at overskride denne grænse, kan du bo sag udtryk, så return_expr er i sig selv en sag udtryk. vælg first_name, hvis løn og< 200 - klasse 1 ", når lønnen > 200 og løn og<, 5.000 så" grad 2 "andet" klasse 3 'ende sag fra arbejdstagere, enam sag - anfører derfor john klasse 2 edwin klasse 3, king - klasse 1,
ved hjælp af betingede udtryk
Previous:efter række funktioner
Next Page:ved hjælp af gruppe funktioner