V MariaDB, LOG2() je vestavěná funkce, která vrací základní-2 logaritmus svého argumentu.
Syntaxe
Syntaxe vypadá takto:
LOG2(X)
Kde X je hodnota, pro kterou se má vrátit logaritmus základu-2.
Příklad
Zde je příklad k demonstraci:
SELECT LOG2(3); Výsledek:
+--------------------+ | LOG2(3) | +--------------------+ | 1.5849625007211563 | +--------------------+
Zde jsou některé další:
SELECT
LOG2(2),
LOG2(4),
LOG2(8),
LOG2(16); Výsledek:
+---------+---------+---------+----------+ | LOG2(2) | LOG2(4) | LOG2(8) | LOG2(16) | +---------+---------+---------+----------+ | 1 | 2 | 3 | 4 | +---------+---------+---------+----------+
Rozsahy argumentů
Pokud X je menší nebo rovno 0 a poté NULL se vrátí s varováním.
SELECT
LOG2(0),
LOG2(-1); Výsledek:
+---------+----------+ | LOG2(0) | LOG2(-1) | +---------+----------+ | NULL | NULL | +---------+----------+ 1 row in set, 2 warnings (0.000 sec)
Podívejme se na varování:
SHOW WARNINGS; Výsledek:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | +---------+------+---------------+
Nečíselné argumenty
Zde je příklad toho, co se stane, když poskytneme nečíselné argumenty:
SELECT LOG2('Dog'); Výsledek:
+-------------+
| LOG2('Dog') |
+-------------+
| NULL |
+-------------+
1 row in set, 2 warnings (0.000 sec) Podívejme se na varování:
SHOW WARNINGS; Výsledek:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' | | Warning | 1365 | Division by 0 | +---------+------+-----------------------------------------+
Nulové argumenty
LOG2() vrátí null pokud je jeho argument null :
SELECT LOG2(null); Výsledek:
+------------+ | LOG2(null) | +------------+ | NULL | +------------+
Chybí argumenty
Volání LOG2() s nesprávným počtem argumentů nebo bez jakýchkoli argumentů vede k chybě:
SELECT LOG2(); Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'
A:
SELECT LOG2(10, 2); Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'