NVL-konverteringar för olika datatyper. Branch-satser i SELECT-kommandot Oracle nvl description

Vi berörde kapslade funktioner lite tidigare, nu ska vi titta på dem lite mer detaljerat. Vi kommer också att överväga funktioner för att arbeta med NULL-värdet och funktioner som hjälper till att implementera förgreningsoperationen i en fråga.

Kapslade funktioner

Kapslade funktioner använder returvärdet för en funktion som en indataparameter till en annan funktion. Funktioner returnerar alltid endast ett värde. Därför kan du behandla resultatet av ett funktionsanrop som en bokstavlig värde när du använder den som en parameter till ett annat funktionsanrop. Strängfunktioner kan kapslas till vilken kapslingsnivå som helst. Ett funktionsanrop ser ut så här

Funktion1(parameter1, parameter2, …) = resultat

Att ersätta en funktionsparameter med ett anrop till en annan funktion kan resultera i uttryck som

F1(param1.1, F2(param2.1, param2.2, F3(param3.1)), param1.3)

Kapslade funktioner utvärderas först innan deras resultat används som ingångsvärden för andra funktioner. Funktioner utvärderas från den djupaste häckningsnivån till den översta från vänster till höger. Det föregående uttrycket exekveras enligt följande

  1. Funktion F3(param1) utvärderas och returvärdet används som tredje parameter för funktion 2, låt oss kalla det param2.3
  2. Därefter utvärderas funktionen F2(param1, param2.2, param2.3) och returvärdet används som den andra parametern för funktionen F1 - param1.2
  3. Slutligen utvärderas funktionen F1(param1, param2, param1.3) och resultatet returneras till det anropande programmet.

Således är F3-funktionen på den tredje kapslingsnivån.

Låt oss överväga begäran

välj nästa_dag(last_dag(sysdatum)-7, 'tis') från dubbel;

  1. Det finns tre funktioner i den här frågan, från lägre nivå till övre nivå - SYSDATE, LAST_DAY, NEXT_DAY. Begäran verkställs enligt följande
  2. Den kapslade SYSDATE-funktionen exekveras. Den returnerar den aktuella systemtiden. Låt oss säga att det aktuella datumet är den 28 oktober 2009
  3. Därefter beräknas resultatet av den andra nivåfunktionen LAST_DAY. LAST_DATE('28-OCT-2009') returnerar den sista dagen i oktober 2009, vilket är den 31 oktober 2009.
  4. Sedan dras sju dagar från detta datum - det visar sig den 24 oktober.
  5. Slutligen utvärderas funktionen NEXT_DAY('24-OCT-2009', 'tis') och frågan returnerar den sista tisdagen i oktober - vilket i vårt exempel är 27-OKT-2009.

Det är ganska svårt att förstå och bygga komplexa uttryck med många kapslade funktionsanrop, men detta kommer med tid och övning. Du kan dela upp sådana uttryck i delar och testa dem separat. DUAL-tabellen är mycket användbar för att testa frågor och funktionsanropsresultat. Du kan testa och felsöka små komponenter, som sedan kombineras till ett stort önskat uttryck.

Förgreningsfunktioner

Grenfunktioner, även kända som IF-THEN-ELSE, används för att bestämma körningsvägen beroende på vissa omständigheter. Förgreningsfunktioner returnerar olika resultat baserat på resultatet av tillståndsutvärderingen. Gruppen av sådana funktioner inkluderar funktioner för att arbeta med NULL-värdet: NVL, NVL2, NULLIF och COALESCE. Och även de vanliga funktionerna som representeras av DECODE-funktionen och CASE-uttrycket. Funktionen DECODE är en Oracle-funktion, medan CASE-uttrycket finns i ANSI SQL-standarden.

NVL funktion

Funktionen NVL testar värdet på en kolumn eller ett uttryck av valfri datatyp mot NULL. Om värdet är NULL returnerar det ett alternativt standardvärde som inte är NULL, annars returnerar det det ursprungliga värdet.

NVL-funktionen har två nödvändiga parametrar och syntaxen är NVL(original, ifnull) där original är det ursprungliga värdet att kontrollera och ifnull är resultatet som returneras av funktionen om det ursprungliga värdet är NULL. Datatypen för ifnull- och originalparametrarna måste vara kompatibla. Det vill säga, antingen måste datatypen vara densamma eller så måste det vara möjligt att implicit konvertera värden från en typ till en annan. Funktionen NVL returnerar ett värde av samma datatyp som datatypen för den ursprungliga parametern. Låt oss överväga tre frågor

Fråga 1: välj nvl(1234) från dual;

Fråga 2: välj nvl(null, 1234) från dual;

Fråga 3: välj nvl(substr('abc', 4), 'Ingen understräng existerar') från dual;

Eftersom NVL-funktionen kräver två parametrar kommer begäran 1 att returnera fel ORA-00909: ogiltigt antal argument. Fråga 2 returnerar 1234 eftersom NULL-värdet är markerat och det är NULL. Fråga tre använder en kapslad SUBSTR-funktion som försöker extrahera det fjärde tecknet från en sträng som är tre tecken lång, returnerar NULL, och NVL-funktionen returnerar strängen 'No sbustring exists'.

NVL-funktionen är mycket användbar när du arbetar med siffror. Den används för att konvertera NULL-värden till 0 så att aritmetiska operationer på tal inte returnerar NULL

NVL funktion2

NVL2-funktionen ger mer funktionalitet än NVL, men tjänar också till att hantera NULL-värden. Den testar värdet på en kolumn eller ett uttryck av valfri typ mot NULL. Om värdet inte är NULL, returneras den andra parametern, annars returneras den tredje parametern, till skillnad från NVL-funktionen, som i detta fall returnerar det ursprungliga värdet.

NVL2-funktionen har tre nödvändiga parametrar och syntaxen är NVL2(original, ifnotnull, ifnull), där original är värdet som testas, ifnotnull är värdet som returneras om original inte är NULL, och ifnull är värdet som returneras om original är NULL. Datatyperna för parametrarna ifnotnull och ifnull måste vara kompatibla och de får inte vara av typen LONG. Datatypen som returneras av NVL2-funktionen är lika med datatypen för parametern ifnotnull. Låt oss titta på några exempel

Fråga 1: välj nvl2(1234, 1, 'en sträng') från dual;

Fråga 2: välj nvl2(null, 1234, 5678) från dubbel;

Fråga 3: välj nvl2(substr('abc', 2), 'Inte bc', 'Ingen understräng') från dual;

Ifnotnull-parametern i begäran 1 är ett nummer och ifnull-parametern är en sträng. Eftersom datatyperna är inkompatibla returneras felet "ORA-01722: ogiltigt nummer". Fråga två returnerar parametern ifnull, eftersom original är NULL och resultatet blir 5678. Fråga tre använder funktionen SUBSTR som returnerar 'bc' och anropar NVL2('bc','Inte bc','Ingen delsträng') - som returnerar parametern ifnotnull – 'Inte bc'.

NULLIF-funktion

Funktionen NULLIF kontrollerar om två värden är identiska. Om de är samma returneras NULL, annars returneras den första parametern. Funktionen NULLIF har två nödvändiga parametrar och syntaxen är NULLIF(ifunequal, comparison_item). Funktionen jämför två parametrar och om de är identiska returneras NULL, annars är parametern ifojämn. Låt oss överväga önskemålen

Fråga 1: välj nullif(1234, 1234) från dual;

Fråga ett returnerar NULL eftersom parametrarna är identiska. Strängarna i fråga 2 konverteras inte till ett datum, utan jämförs som strängar. Eftersom strängarna är av olika längd, returneras parametern ifunequal 24-JUL-2009.

I figur 10-4 är NULLIF-funktionen kapslad i NVL2-funktionen. Funktionen NULLIF använder i sin tur funktionerna SUBSTR och UPPER som en del av ett uttryck i parametern ifunequal. E-postkolumnen jämförs med detta uttryck, som returnerar den första bokstaven i förnamnet kombinerat med efternamnet för anställda vars förnamn är 4 tecken långt. När dessa värden är lika kommer NULLIF att returnera NULL, annars returnerar den värdet på parametern ifunequal. Dessa värden används som en parameter för NVL2-funktionen. NVL2 returnerar i sin tur en beskrivning av huruvida de jämförda elementen matchade eller inte.

Figur 10-4 – Användning av NULLIF-funktionen

COALESCE funktion

Funktionen COALESCE returnerar det första icke-NULL-värdet från parameterlistan. Om alla parametrar är NULL, returneras NULL. COALESCE-funktionen har två nödvändiga parametrar och valfritt antal valfria parametrar och syntaxen är COALESCE(uttr1, uttr2, ..., uttrn) där resultatet blir uttr1 om värdet på uttr 1 inte är NULL, annars blir resultatet expr2 om det inte är NULL osv. COALESCE har samma betydelse som kapslade NVL-funktioner

COALESCE(uttr1; expr2) = NVL(uttr1; expr2)

COALESCE(expr1; expr2; expr3) = NVL(expr1,NVL(expr2; expr3))

Datatypen för det returnerade värdet om ett icke-NULL-värde hittas är lika med datatypen för det första icke-NULL-värdet. För att undvika felet 'ORA-00932: inkonsekventa datatyper' måste alla parametrar som inte är NULL vara kompatibla med den första icke-NULL-parametern. Låt oss titta på tre exempel

Fråga 1: välj coalesce(null, null, null, 'en sträng') från dual;

Fråga 2: välj coalesce(null, null, null) från dual;

Fråga 3: välj coalesce(substr('abc', 4), 'Inte bc', 'Ingen delsträng') från dual;

Fråga 1 returnerar den fjärde parametern: en sträng, eftersom det är den första icke-NULL-parametern. Fråga två returnerar NULL eftersom alla parametrar är NULL. Fråga 3 utvärderar den första parametern, får NULL-värdet och returnerar den andra parametern eftersom det är den första icke-NULL-parametern.

NVL2-funktionsparametrarna kan vara förvirrande om du redan är bekant med NVL-funktionen. NVL(original, omnull) returnerar original om värdet inte är NULL, annars omnull. NVL2(original, ifnotnull, ifnull) returnerar ifnotnull om originalet inte är NULL annars ifnull. Förvirringen kommer från det faktum att den andra parametern i NVL-funktionen är ifnull, medan NVL2-funktionen är ifnotnull. Så lita inte på parameterns position i funktionen.

DECODE-funktionen

Funktionen DECODE implementerar if-then-else-logik genom att testa de två första parametrarna för likhet och returnera ett tredje värde om de är lika eller ett annat värde om de inte är lika. Funktionen DECODE har tre nödvändiga parametrar och syntaxen är DECODE(expr1, comp1, iftrue1, , ). Dessa parametrar används som visas i följande pseudokodexempel

IF expr1=comp1 returnera sedan iftrue1

Annars om expr1=comp2 returnerar sedan iftrue2

Annars om exprN=compN returnerar du iftrueN

Else return NULL|iffalse;

Först jämförs expr1 med comp1. Om de är lika returneras iftrue1. Om expr1 inte är lika med comp1, beror vad som händer sedan på om parametrarna comp2 och iftrue2 är specificerade. Om det ges jämförs värdet av expr1 med comp2. Om värdena är lika, returneras iftrue2. Om inte, om det finns parametrar compN, jämförs iftrueN, expr1 och compN och, om lika, iftrueN returneras. Om ingen matchning hittades i någon uppsättning parametrar, returneras antingen iffalse om den här parametern angavs, eller NULL.

Alla parametrar i DECODE-funktionen kan vara uttryck. Typen av returvärde är lika med typen av det första valideringselementet - parametern komp 1. Uttryck expr 1 konverteras implicit till datatypen för comp-parametern1. Alla andra tillgängliga kompparametrar 1...kompN konverteras också implicit till typ comp 1. DECODE behandlar ett NULL-värde som lika med ett annat NULL-värde, dvs. om expr1 är NULL och comp3 är NULL och comp2 inte är NULL, returneras iftrue3. Låt oss titta på några exempel

Fråga 1: välj avkoda (1234, 123, '123 är en matchning') från dual;

Fråga 2: välj decode(1234, 123, '123 är en matchning', 'Ingen matchning') från dual;

Fråga 3: välj decode('search', 'comp1', 'true1', 'comp2', 'true2', 'search', 'true3', substr('2search', 2, 6), 'true4', ' false') från dubbel;

Fråga ett jämför värdet 1234 och 123. Eftersom de inte är lika, ignoreras iftrue1 och eftersom värdet iffalse inte är definierat returneras NULL. Begäran två är identisk med begäran 1 förutom att värdet iffalse är definierat. Eftersom 1234 inte är lika med 123, returnerar det iffalse - "Ingen matchning". Fråga tre kontrollerar parametervärdena för att matcha sökvärdet. Parametrarna comp1 och comp2 är inte lika med 'sökning' så resultaten av iftrue1 och iftrue2 hoppas över. En matchning hittas i den tredje jämförelseoperationen av element comp3 (parameterposition 6) och värdet på iftrue3 (parameter 7) returneras som är lika med "true3". Eftersom en matchning hittas görs inga fler beräkningar. Det vill säga, trots att värdet på comp4 (parameter 8) också matchar expr1, så beräknas aldrig detta uttryck eftersom matchningen hittades i den tidigare jämförelsen.

CASE-uttryck

Alla tredje och fjärde generationens programmeringsspråk implementerar fallkonstruktionen. Precis som funktionen DECODE låter CASE-uttrycket dig implementera if-then-else logik. Det finns två alternativ för att använda CASE-uttrycket. Ett enkelt CASE-uttryck ställer in källelementet för att jämföra en gång och listar sedan alla nödvändiga testvillkor. Complex (sökt) CASE utvärderar båda påståendena för varje tillstånd.

CASE-uttrycket har tre nödvändiga parametrar. Syntaxen för uttrycket beror på typen. För ett enkelt CASE-uttryck ser det ut så här

CASE search_expr

WHEN comparison_expr1 THEN iftrue1

)

Funktionen TRUNC returnerar talet n, trunkerat till m decimaler. Parametern m kanske inte anges i detta fall, n trunkeras till ett heltal.

VÄLJ TRUNC(100,25678) X1, TRUNC(-100,25678) X2, TRUNC(100,99) X3,

TRUNC(100,25678, 2) X4

FRÅN DUAL

Funktion SIGN(n)

Funktionen TECKN bestämmer tecknet för ett tal. Om n är positivt returnerar funktionen 1. Om n är negativ returnerar den -1. Om lika med noll, returneras 0 till exempel:

VÄLJ TECKN(100,22) X1, TECKN(-100,22) X2, TECKN(0) X3

FRÅN DUAL

En intressant egenskap hos denna funktion är förmågan att sända m lika med noll utan att orsaka en division med 0-fel.

Funktion POWER(n, m)

POWER-funktionen höjer siffran n till potensen m. Graden kan vara bråkdel och negativ, vilket avsevärt utökar kapaciteten för denna funktion.

VÄLJ STRÖM(10, 2) X1, STRÖM(100, 1/2) X2,

POWER(1000, 1/3) X3, POWER(1000, -1/3) X4

FRÅN DUAL

X1 X2 X3 X4
100 10 10 0,1

I vissa fall kan ett undantag inträffa när den här funktionen anropas. Till exempel:

VÄLJ STRÖM(-100, 1/2) X2

FRÅN DUAL

I det här fallet görs ett försök att beräkna kvadratroten ur ett negativt tal, vilket kommer att resultera i ett ORA-01428 "Argument utanför intervallet"-fel.

Funktion SQRT(n)

Denna funktion returnerar kvadratroten av n. Till exempel:

VÄLJ SQRT(100) X

FRÅN DUAL

EXP(n) och LN(n) funktioner

EXP-funktionen höjer e till potensen n, och LN-funktionen beräknar den naturliga logaritmen för n (n måste vara större än noll). Exempel:

VÄLJ EXP(2) X1, LN(1) X2, LN(EXP(2)) X3

NVL funktion

NVL-funktionen används vanligtvis oftast. Funktionen tar emot två parametrar: NVL(expr1, expr2). Om den första parametern expr1 inte är NULL, returnerar funktionen sitt värde. Om den första parametern är NULL, returnerar funktionen istället värdet för den andra parametern expr2.

Låt oss titta på ett praktiskt exempel. COMM-fältet i EMP-tabellen kan innehålla NULL-värden. När du kör en fråga som:

VÄLJ EMPNO, ENAME, COMM, NVL(COMM, 0) NVL_COMM

FRÅN SCOTT.EMP

NULL-värdet kommer att ersättas med noll. Observera att när ett värde genereras med hjälp av en funktion tilldelas det ett alias. Frågeresultaten kommer att se ut så här:

EMPNO ENAME KOMM NVL_COMM
7369 SMED 0
7499 ALLEN 300 300
7521 AVDELNING 500 500
7566 JONES 0
7654 MARTIN 1400 1400
7698 BLAKE 0
7782 CLARK 0
7839 KUNG 0
7844 SVARVARE 0 0
7900 JAMES 0
7902 VADSTÄLLE 0
7934 MJÖLNARE 0

Funktion CEIL(n)

CEIL-funktionen returnerar det minsta heltal som är större än eller lika med antalet n som skickas som en parameter. Till exempel:

VÄLJ CEIL(100) X1, CEIL(-100) X2, CEIL(100.2) X3 , CEIL(-100.2) X4

FRÅN DUAL

Funktion TRUNC(n [,m])

Funktionen TRUNC returnerar talet n, trunkerat till m decimaler. Parametern m kanske inte anges i detta fall, n trunkeras till ett heltal.

VÄLJ TRUNC(100,25678) X1, TRUNC(-100,25678) X2, TRUNC(100,99) X3,

TRUNC(100,25678, 2) X4

FRÅN DUAL

Funktion SIGN(n)

Funktionen TECKN bestämmer tecknet för ett tal. Om n är positivt returnerar funktionen 1. Om n är negativ returnerar den -1. Om lika med noll, returneras 0 till exempel:

VÄLJ TECKN(100,22) X1, TECKN(-100,22) X2, TECKN(0) X3

FRÅN DUAL

En intressant egenskap hos denna funktion är förmågan att sända m lika med noll utan att orsaka en division med 0-fel.

Funktion POWER(n, m)

POWER-funktionen höjer siffran n till potensen m. Graden kan vara bråkdel och negativ, vilket avsevärt utökar kapaciteten för denna funktion.

VÄLJ STRÖM(10, 2) X1, STRÖM(100, 1/2) X2,

POWER(1000, 1/3) X3, POWER(1000, -1/3) X4

FRÅN DUAL

X1 X2 X3 X4
100 10 10 0,1

I vissa fall kan ett undantag inträffa när den här funktionen anropas. Till exempel:

VÄLJ STRÖM(-100, 1/2) X2

FRÅN DUAL

I det här fallet görs ett försök att beräkna kvadratroten ur ett negativt tal, vilket kommer att resultera i ett ORA-01428 "Argument utanför intervallet"-fel.

Funktion SQRT(n)

Denna funktion returnerar kvadratroten av talet n. Till exempel:

VÄLJ SQRT(100) X

FRÅN DUAL

EXP(n) och LN(n) funktioner

EXP-funktionen höjer e till potensen n, och LN-funktionen beräknar den naturliga logaritmen för n (n måste vara större än noll). Exempel:

VÄLJ EXP(2) X1, LN(1) X2, LN(EXP(2)) X3

TO_CHAR funktion med siffror

Funktioner för att konvertera data till andra datatyper. TO_CHAR(tal) konverterar ett tal till text. TO_NUMBER(sträng) konverterar text till ett tal.

SELECT TO_CHAR (123) FROM DUAL returnerar strängen 123, SELECT TO_NUMBER (`12345") FROM DUAL returnerar numret 12345.

Laboratoriearbete. Ändra utdatanummerformatet

Ändringar i formatet för numeriska värden i Oracle SQL, TO_CHAR-funktionen för att arbeta med numeriska värden.

Träning:

Skriv en fråga som skulle visa information om anställdas förnamn, efternamn och lön från tabellen hr.anställda i formatet som visas i fig. 3,4-1:

Ris. 3.4 -1

I detta fall bör uppgifterna sorteras på ett sådant sätt att raderna för anställda med högst lön visas först.

Notera:

Några lönevärden i fig. 3.4-1 har ändrats, så de kanske inte är samma som dina värden.

Lösning:

SELECT first_name AS "First Name", last_name Som "Efternamn", TO_CHAR (LÖN, "L999999999.99") Som "Lön" FRÅN hr.anställda BESTÄLLNING EFTER LÖN DESC.

Funktioner TO_NUMBER och TO_DATE

Funktion för att konvertera en sträng till ett datum TO_DATE (sträng, format). Möjliga formatvärden har redan diskuterats ovan, så jag kommer att ge flera exempel på hur du använder den här funktionen. Exempel:

VÄLJ TO_DATE("01/01/2010", `DD.MM.ÅÅÅÅ") FRÅN DUAL kommer att returnera datumet `01/01/2010";

VÄLJ TO_DATE("01.JAN.2010", `DD.MÅN.ÅÅÅÅ") FRÅN DUAL returnerar datumet `01/01/2009";

VÄLJ TO_DATE("15-01-10", `DD-MM-ÅÅ") FRÅN DUAL kommer att returnera datumet "15/01/2010".

Funktion för att konvertera en sträng till ett numeriskt värde TO_NUMBER (sträng, format). De vanligaste formatvärdena listas i tabellen, så låt oss titta på användningen av denna funktion med hjälp av exempel. Exempel:

VÄLJ TO_NUMBER(`100") FRÅN DUAL returnerar numret 100 SELECT TO_NUMBER (`0010.01", "9999D99") FRÅN DUAL returnerar numret 10.01;

VÄLJ TO_NUMBER("500 000", "999G999") FRÅN DUAL returnerar numret 500000.

RR-element i datumformat

RR datetime-formatelementet liknar YY datetime-formatelementet, men det ger ytterligare flexibilitet för att lagra datumvärden i andra århundraden. Formatelementet RR datetime tillåter att 1900-talsdatum lagras på 2000-talet genom att endast ange de två sista siffrorna i året.

Om de två sista siffrorna i innevarande år är 00 till 49, har det returnerade året samma första två siffror som innevarande år.

Om de två sista siffrorna i det aktuella året är från 50 till 99, är de två första siffrorna i det returnerade året 1 större än de två första siffrorna i det aktuella året.

Om de två sista siffrorna i det aktuella året är 00 till 49, är de två första siffrorna i det returnerade året 1 mindre än de två första siffrorna i det aktuella året.

Om de två sista siffrorna i innevarande år är från 50 till 99, har det returnerade året samma första två siffror som innevarande år.

NVL funktion

NVL-funktionen används vanligtvis oftast. Funktionen tar emot två parametrar: NVL (expr1, expr2). Om den första parametern expr1 inte är NULL, returnerar funktionen sitt värde. Om den första parametern är NULL, returnerar funktionen istället värdet för den andra parametern expr2.

Exempel: Välj NVL (supplier_city, n/a") från leverantörer:

SQL-satsen ovan kommer att returnera n/" om fältet leverantör_stad innehåller ett nollvärde. Annars kommer det att returnera värdet leverantör_ort.

Ett annat exempel på att använda NVL-funktionen i Oracle/PLSQL är:

välj leverantörs-id, NVL (leverantörsbeskrivning, leverantörsnamn) från leverantörer.

Denna SQL-sats kommer tillbaka Leverantörsnamn fältet om leverantör_desc innehåller ett nollvärde. Annars kommer den tillbaka leverantör_desc.

Sista exemplet: Att använda NVL-funktionen i Oracle/PLSQL är: välj NVL(provision, 0) från försäljningen;

Denna SQL-sats returnerade värdet 0 if provision Fältet innehåller ett nollvärde. Annars skulle den returneras provisioner fält.

NVL-konverteringar för olika datatyper

För att konvertera ett nollvärde till ett verkligt värde, använd NVL-funktionen: NVL ( uttryck1, uttryck2), Var:

uttryck1- Det ursprungliga eller beräknade värdet, som kan vara odefinierat.

uttryck2- Värdet som ersätts med det odefinierade värdet.

Notera: NVL-funktionen kan användas för att konvertera vilken datatyp som helst, men resultatet blir alltid samma typ som uttryck1.

NVL-konvertering för olika typer:

NUMMER - NVL (numerisk kolumn, 9).

CHAR eller VARCHAR2 - NVL (tecken|kolumn,"Inte tillgänglig").

Laboratoriearbete. Använder NVL-funktionen

NVL-funktion för att arbeta med nollvärden i Oracle SQL.

Träning:

Skriv en fråga som visar anställds för- och efternamnsinformation från tabellen hr.anställda, samt provisionssatsen (kolumnen COMMISSION_PCT) för den anställde. I det här fallet, för de anställda för vilka provisionen inte är definierad, måste värdet 0 visas som visas i fig. 3,5-1.

Ris. 3.5 -1 (värden visas från rad 51)

Lösning:

Motsvarande förfrågningskod kan vara så här:

SELECT first_name AS "First Name", last_name Som "Last Name", NVL (COMMISSION_PCT, 0) Som "Provisionssats" FRÅN hr.anställda.




Topp