I Oracle, EXP()
funktion returnerar värdet på e (basen för naturliga logaritmer) upphöjd till argumentets makt.
Siffran e , även känt som Eulers tal, är en matematisk konstant ungefär lika med 2,71828.
Syntax
Syntaxen ser ut så här:
EXP(n)
Där n
är valfri numerisk datatyp eller icke-numerisk datatyp som implicit kan konverteras till en numerisk datatyp.
Exempel
Här är ett exempel:
SELECT EXP(5)
FROM DUAL;
Resultat:
EXP(5) ___________________________________________ 148.413159102576603421115580040552279624
Vi kan få värdet av e genom att passera 1:
SELECT EXP(1)
FROM DUAL;
Resultat:
EXP(1) ___________________________________________ 2.71828182845904523536028747135266249776
Bråk
Argumentet kan innehålla en bråkdel:
SELECT EXP(3.1434178)
FROM DUAL;
Resultat:
EXP(3.1434178) ____________________________________________ 23.18296635099516749674346410871112767972
Negativa värden
Argumentet kan vara negativt:
SELECT EXP(-5)
FROM DUAL;
Resultat:
EXP(-5) _______________________________________________ 0.006737946999085467096636048423148424248801
Uttryck
Argumentet kan innehålla uttryck som detta:
SELECT EXP(2 * 3)
FROM DUAL;
Resultat:
EXP(2*3) ___________________________________________ 403.428793492735122608387180543388279609
Icke-numeriska argument
Argumentet kan vara vilken numerisk datatyp som helst eller vilken icke-numerisk datatyp som helst som implicit kan konverteras till en numerisk datatyp.
Här är ett exempel på vad som händer när argumentet inte uppfyller dessa kriterier:
SELECT EXP('Cat')
FROM DUAL;
Resultat:
Error starting at line : 1 in command - SELECT EXP('Cat') FROM DUAL Error report - ORA-01722: invalid number
Nollargument
EXP()
returnerar null
om argumentet är null
:
SET NULL 'null';
SELECT EXP(null)
FROM DUAL;
Resultat:
EXP(NULL) ____________ null
Som standard returnerar SQLcl och SQL*Plus ett tomt utrymme när ett nollvärde inträffar som ett resultat av en SQL SELECT
påstående.
Du kan dock använda SET NULL
för att ange en annan sträng som ska returneras. Här specificerade jag att strängen null
bör returneras.
Argument saknas
Anropar EXP()
med fel antal argument, eller utan några argument resulterar i ett fel:
SELECT EXP()
FROM DUAL;
Resultat:
Error starting at line : 1 in command - SELECT EXP() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
Och:
SELECT EXP(10, 2)
FROM DUAL;
Resultat:
Error starting at line : 1 in command - SELECT EXP(10, 2) FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: