In Oracle das LN()
Die Funktion gibt den natürlichen Logarithmus ihres Arguments zurück, wenn das Argument größer als 0
ist .
Mit anderen Worten, es gibt das Basis-e zurück Logarithmus seines Arguments.
Die Zahl e , auch als Eulersche Zahl bekannt, ist eine mathematische Konstante, die ungefähr 2,71828 entspricht.
Syntax
Die Syntax lautet wie folgt:
LN(n)
Wobei n
ist ein beliebiger numerischer Datentyp oder ein beliebiger nicht numerischer Datentyp, der implizit in einen numerischen Datentyp konvertiert werden kann.
Beispiel
Hier ist ein Beispiel:
SELECT LN(73)
FROM DUAL;
Ergebnis:
LN(73) __________________________________________ 4.2904594411483911290921088574385425709
Folgendes erhalten wir, wenn wir an e vorbeikommen :
SELECT LN(2.718281828459045235360287471352662497757)
FROM DUAL;
Ergebnis:
LN(2.718281828459045235360287471352662497757) ________________________________________________ 1
Allerdings macht die Anzahl der Nachkommastellen bei diesem Beispiel einen Unterschied. Folgendes passiert, wenn ich die letzte Ziffer entferne:
SELECT LN(2.71828182845904523536028747135266249775)
FROM DUAL;
Ergebnis:
LN(2.71828182845904523536028747135266249775) _______________________________________________ 0.9999999999999999999999999999999999999963
Negative Werte
Negative Werte führen zu einem „out of range“-Fehler:
SELECT LN(-5.490)
FROM DUAL;
Ergebnis:
Error starting at line : 1 in command - SELECT LN(-5.490) FROM DUAL Error report - ORA-01428: argument '-5.49' is out of range
Null
Übergeben von 0
führt auch zu einem „out of range“-Fehler:
SELECT LN(0)
FROM DUAL;
Ergebnis:
Error starting at line : 1 in command - SELECT LN(0) FROM DUAL Error report - ORA-01428: argument '0' is out of range
Ausdrücke
Das Argument kann Ausdrücke wie diesen enthalten:
SELECT LN(2 * 3)
FROM DUAL;
Ergebnis:
LN(2*3) ___________________________________________ 1.79175946922805500081247735838070227272
Nicht numerische Argumente
Das Argument kann ein beliebiger numerischer Datentyp oder ein beliebiger nicht numerischer Datentyp sein, der implizit in einen numerischen Datentyp konvertiert werden kann.
Hier ist ein Beispiel dafür, was passiert, wenn das Argument diese Kriterien nicht erfüllt:
SELECT LN('Euler')
FROM DUAL;
Ergebnis:
Error starting at line : 1 in command - SELECT LN('Euler') FROM DUAL Error report - ORA-01722: invalid number
Null-Argumente
LN()
gibt null
zurück wenn das Argument null
ist :
SET NULL 'null';
SELECT LN(null)
FROM DUAL;
Ergebnis:
LN(NULL) ___________ null
Standardmäßig geben SQLcl und SQL*Plus immer dann ein Leerzeichen zurück, wenn als Ergebnis eines SQL SELECT
ein Nullwert auftritt Erklärung.
Sie können jedoch SET NULL
verwenden um eine andere Zeichenfolge anzugeben, die zurückgegeben werden soll. Hier habe ich angegeben, dass der String null
zurückgegeben werden soll.
Fehlende Argumente
Aufruf von LN()
mit der falschen Anzahl von Argumenten oder ohne Argumente führt zu einem Fehler:
SELECT LN()
FROM DUAL;
Ergebnis:
Error starting at line : 1 in command - SELECT LN() 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:
Und:
SELECT LN(10, 2)
FROM DUAL;
Ergebnis:
Error starting at line : 1 in command - SELECT LN(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: