I MariaDB, LOG2()
er en indbygget funktion, der returnerer base-2-logaritmen af sit argument.
Syntaks
Syntaksen ser sådan ud:
LOG2(X)
Hvor X
er den værdi, som base-2-logaritmen skal returneres for.
Eksempel
Her er et eksempel til demonstration:
SELECT LOG2(3);
Resultat:
+--------------------+ | LOG2(3) | +--------------------+ | 1.5849625007211563 | +--------------------+
Her er nogle flere:
SELECT
LOG2(2),
LOG2(4),
LOG2(8),
LOG2(16);
Resultat:
+---------+---------+---------+----------+ | LOG2(2) | LOG2(4) | LOG2(8) | LOG2(16) | +---------+---------+---------+----------+ | 1 | 2 | 3 | 4 | +---------+---------+---------+----------+
Argumentintervaller
Hvis X
er mindre end eller lig med 0
, derefter NULL
returneres med en advarsel.
SELECT
LOG2(0),
LOG2(-1);
Resultat:
+---------+----------+ | LOG2(0) | LOG2(-1) | +---------+----------+ | NULL | NULL | +---------+----------+ 1 row in set, 2 warnings (0.000 sec)
Lad os tjekke advarslerne:
SHOW WARNINGS;
Resultat:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | +---------+------+---------------+
Ikke-numeriske argumenter
Her er et eksempel på, hvad der sker, når vi giver ikke-numeriske argumenter:
SELECT LOG2('Dog');
Resultat:
+-------------+ | LOG2('Dog') | +-------------+ | NULL | +-------------+ 1 row in set, 2 warnings (0.000 sec)
Lad os se advarslen:
SHOW WARNINGS;
Resultat:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' | | Warning | 1365 | Division by 0 | +---------+------+-----------------------------------------+
Nul-argumenter
LOG2()
returnerer null
hvis dets argument er null
:
SELECT LOG2(null);
Resultat:
+------------+ | LOG2(null) | +------------+ | NULL | +------------+
Manglende argumenter
Kalder LOG2()
med det forkerte antal argumenter eller uden argumenter resulterer i en fejl:
SELECT LOG2();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'
Og:
SELECT LOG2(10, 2);
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'