In SQL Server das T-SQL LOG()
Funktion ist eine mathematische Funktion, die den natürlichen Logarithmus des angegebenen Float-Ausdrucks zurückgibt.
Sie geben den Float-Ausdruck als Argument an. Sie können auch ein zweites (optionales) Argument angeben, um die Basis für den Logarithmus festzulegen.
Syntax
Die Syntax lautet wie folgt:
LOG ( float_expression [, base ] )
Wobei float_expression ist ein Ausdruck vom Typ Float oder von einem Typ, der implizit in Float konvertiert werden kann, und base ist ein optionales Integer-Argument, das die Basis für den Logarithmus festlegt.
Beispiel 1 – Ein Argument
Hier ist ein einfaches Beispiel, um zu demonstrieren, wie diese Funktion mit einem Argument funktioniert.
SELECT LOG(10) Result;
Ergebnis:
+------------------+ | Result | |------------------| | 2.30258509299405 | +------------------+
Und hier ist ein weiteres Beispiel mit einem anderen Wert.
SELECT LOG(0.5) Result;
Ergebnis:
+--------------------+ | Result | |--------------------| | -0.693147180559945 | +--------------------+
Beispiel 2 – Negativer Wert
Hier ist ein Beispiel für die Übergabe eines negativen Werts.
SELECT LOG(-10) Result;
Ergebnis:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Dieses Beispiel gibt einen Fehler zurück, da der Logarithmus nur für positive Zahlen zurückgegeben werden kann, die nicht 1 sind.
Beispiel 3 – Null
Hier ist ein Beispiel für die Übergabe von Null als Argument (wir erhalten das gleiche Ergebnis wie im vorherigen Beispiel).
SELECT LOG(0) Result;
Ergebnis:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Beispiel 4 – 1 übergeben
Wenn Sie einen Wert von 1 übergeben, erhalten Sie null.
SELECT LOG(1) Result;
Ergebnis:
+----------+ | Result | |----------| | 0 | +----------+
Beispiel 5 – Ausdrücke
Sie können Ausdrücke wie diesen übergeben:
SELECT LOG(2+3) Result;
Ergebnis:
+-----------------+ | Result | |-----------------| | 1.6094379124341 | +-----------------+
Das ist im Grunde das Gleiche wie:
SELECT LOG(5) Result;
Ergebnis:
+-----------------+ | Result | |-----------------| | 1.6094379124341 | +-----------------+
Beispiel 6 – Zwei Argumente
Hier ist ein Beispiel, um zu demonstrieren, wie diese Funktion mit zwei Argumenten funktioniert.
SELECT LOG(10, 100) Result;
Ergebnis:
+----------+ | Result | |----------| | 0.5 | +----------+
Und mit einem anderen Beispiel:
SELECT LOG(100, 10) Result;
Ergebnis:
+----------+ | Result | |----------| | 2 | +----------+
Wenn Sie mit der MySQL-Version von LOG()
vertraut sind , werden Sie feststellen, dass die Zwei-Argument-Syntax die entgegengesetzte Reihenfolge zur T-SQL-Version verwendet (d. h. die Basis kommt zuerst).
Beispiel 7 – Verwendung einer Basis von 1
Wenn Sie 1
verwenden als Basis erhalten Sie eine Fehlermeldung.
SELECT LOG(10, 1) Result;
Ergebnis:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Dasselbe gilt, wenn das erste Argument gleich Null oder kleiner ist:
SELECT LOG(0, 10) Result;
Ergebnis:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
T-SQL hat auch den EXP()
Funktion, die das Gegenteil von LOG()
ist Funktion.
Sie können auch LOG10()
verwenden -Funktion, die den Basis-10-Logarithmus des angegebenen Float-Ausdrucks zurückgibt. Die Verwendung dieser Funktion entspricht der Übergabe von 10
als zweites Argument für LOG()
Funktion.