I MariaDB, LOG2() är en inbyggd funktion som returnerar bas-2-logaritmen för dess argument.
Syntax
Syntaxen ser ut så här:
LOG2(X)
Där X är värdet för vilket bas-2-logaritmen ska returneras.
Exempel
Här är ett exempel att visa:
SELECT LOG2(3); Resultat:
+--------------------+ | LOG2(3) | +--------------------+ | 1.5849625007211563 | +--------------------+
Här är några fler:
SELECT
LOG2(2),
LOG2(4),
LOG2(8),
LOG2(16); Resultat:
+---------+---------+---------+----------+ | LOG2(2) | LOG2(4) | LOG2(8) | LOG2(16) | +---------+---------+---------+----------+ | 1 | 2 | 3 | 4 | +---------+---------+---------+----------+
Argumentintervall
Om X är mindre än eller lika med 0 , sedan NULL returneras med en varning.
SELECT
LOG2(0),
LOG2(-1); Resultat:
+---------+----------+ | LOG2(0) | LOG2(-1) | +---------+----------+ | NULL | NULL | +---------+----------+ 1 row in set, 2 warnings (0.000 sec)
Låt oss kontrollera varningarna:
SHOW WARNINGS; Resultat:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | +---------+------+---------------+
Icke-numeriska argument
Här är ett exempel på vad som händer när vi tillhandahåller icke-numeriska argument:
SELECT LOG2('Dog'); Resultat:
+-------------+
| LOG2('Dog') |
+-------------+
| NULL |
+-------------+
1 row in set, 2 warnings (0.000 sec) Låt oss se varningen:
SHOW WARNINGS; Resultat:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' | | Warning | 1365 | Division by 0 | +---------+------+-----------------------------------------+
Nollargument
LOG2() returnerar null om dess argument är null :
SELECT LOG2(null); Resultat:
+------------+ | LOG2(null) | +------------+ | NULL | +------------+
Argument saknas
Anropar LOG2() med fel antal argument, eller utan några argument resulterar i ett fel:
SELECT LOG2(); Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'
Och:
SELECT LOG2(10, 2); Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'