sql >> Databasteknik >  >> RDS >> Oracle

EXP() Funktion i Oracle

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:

  1. Hantera MDF-filer i SQL Server 2019

  2. För loop exempel i MySQL

  3. Potentiella förbättringar av ASPState

  4. Hur man installerar Kubernetes med Kubeadm