In MariaDB, LOG2()
ist eine integrierte Funktion, die den Basis-2-Logarithmus ihres Arguments zurückgibt.
Syntax
Die Syntax lautet wie folgt:
LOG2(X)
Wobei X
ist der Wert, für den der Basis-2-Logarithmus zurückgegeben werden soll.
Beispiel
Hier ist ein Beispiel zur Veranschaulichung:
SELECT LOG2(3);
Ergebnis:
+--------------------+ | LOG2(3) | +--------------------+ | 1.5849625007211563 | +--------------------+
Hier sind noch einige:
SELECT
LOG2(2),
LOG2(4),
LOG2(8),
LOG2(16);
Ergebnis:
+---------+---------+---------+----------+ | LOG2(2) | LOG2(4) | LOG2(8) | LOG2(16) | +---------+---------+---------+----------+ | 1 | 2 | 3 | 4 | +---------+---------+---------+----------+
Argumentbereiche
Wenn X
kleiner oder gleich 0
ist , dann NULL
wird mit einer Warnung zurückgegeben.
SELECT
LOG2(0),
LOG2(-1);
Ergebnis:
+---------+----------+ | LOG2(0) | LOG2(-1) | +---------+----------+ | NULL | NULL | +---------+----------+ 1 row in set, 2 warnings (0.000 sec)
Sehen wir uns die Warnungen an:
SHOW WARNINGS;
Ergebnis:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | +---------+------+---------------+
Nicht numerische Argumente
Hier ist ein Beispiel dafür, was passiert, wenn wir nicht-numerische Argumente angeben:
SELECT LOG2('Dog');
Ergebnis:
+-------------+ | LOG2('Dog') | +-------------+ | NULL | +-------------+ 1 row in set, 2 warnings (0.000 sec)
Sehen wir uns die Warnung an:
SHOW WARNINGS;
Ergebnis:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' | | Warning | 1365 | Division by 0 | +---------+------+-----------------------------------------+
Null-Argumente
LOG2()
gibt null
zurück wenn sein Argument null
ist :
SELECT LOG2(null);
Ergebnis:
+------------+ | LOG2(null) | +------------+ | NULL | +------------+
Fehlende Argumente
Aufruf von LOG2()
mit der falschen Anzahl von Argumenten oder ohne Argumente führt zu einem Fehler:
SELECT LOG2();
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'
Und:
SELECT LOG2(10, 2);
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'