No MariaDB,
LOG2() é uma função interna que retorna o logaritmo de base 2 de seu argumento. Sintaxe
A sintaxe fica assim:
LOG2(X) Onde
X é o valor para o qual retornar o logaritmo de base 2. Exemplo
Segue um exemplo para demonstrar:
SELECT LOG2(3); Resultado:
+--------------------+ | LOG2(3) | +--------------------+ | 1.5849625007211563 | +--------------------+
Aqui estão mais alguns:
SELECT
LOG2(2),
LOG2(4),
LOG2(8),
LOG2(16); Resultado:
+---------+---------+---------+----------+ | LOG2(2) | LOG2(4) | LOG2(8) | LOG2(16) | +---------+---------+---------+----------+ | 1 | 2 | 3 | 4 | +---------+---------+---------+----------+
Intervalos de argumentos
Se
X é menor ou igual a 0 , então NULL é retornado com um aviso. SELECT
LOG2(0),
LOG2(-1); Resultado:
+---------+----------+ | LOG2(0) | LOG2(-1) | +---------+----------+ | NULL | NULL | +---------+----------+ 1 row in set, 2 warnings (0.000 sec)
Vamos verificar os avisos:
SHOW WARNINGS; Resultado:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | +---------+------+---------------+
Argumentos não numéricos
Aqui está um exemplo do que acontece quando fornecemos argumentos não numéricos:
SELECT LOG2('Dog'); Resultado:
+-------------+
| LOG2('Dog') |
+-------------+
| NULL |
+-------------+
1 row in set, 2 warnings (0.000 sec) Vejamos o aviso:
SHOW WARNINGS; Resultado:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' | | Warning | 1365 | Division by 0 | +---------+------+-----------------------------------------+
Argumentos nulos
LOG2() retorna null se seu argumento for null :SELECT LOG2(null); Resultado:
+------------+ | LOG2(null) | +------------+ | NULL | +------------+
Argumentos ausentes
Chamando
LOG2() com o número errado de argumentos ou sem argumentos resulta em um erro:SELECT LOG2(); Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'
E:
SELECT LOG2(10, 2); Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'