Dans MariaDB, LOG2()
est une fonction intégrée qui renvoie le logarithme en base 2 de son argument.
Syntaxe
La syntaxe ressemble à ceci :
LOG2(X)
Où X
est la valeur pour laquelle renvoyer le logarithme en base 2.
Exemple
Voici un exemple pour illustrer :
SELECT LOG2(3);
Résultat :
+--------------------+ | LOG2(3) | +--------------------+ | 1.5849625007211563 | +--------------------+
En voici d'autres :
SELECT
LOG2(2),
LOG2(4),
LOG2(8),
LOG2(16);
Résultat :
+---------+---------+---------+----------+ | LOG2(2) | LOG2(4) | LOG2(8) | LOG2(16) | +---------+---------+---------+----------+ | 1 | 2 | 3 | 4 | +---------+---------+---------+----------+
Plages d'arguments
Si X
est inférieur ou égal à 0
, puis NULL
est renvoyé avec un avertissement.
SELECT
LOG2(0),
LOG2(-1);
Résultat :
+---------+----------+ | LOG2(0) | LOG2(-1) | +---------+----------+ | NULL | NULL | +---------+----------+ 1 row in set, 2 warnings (0.000 sec)
Vérifions les avertissements :
SHOW WARNINGS;
Résultat :
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | +---------+------+---------------+
Arguments non numériques
Voici un exemple de ce qui se passe lorsque nous fournissons des arguments non numériques :
SELECT LOG2('Dog');
Résultat :
+-------------+ | LOG2('Dog') | +-------------+ | NULL | +-------------+ 1 row in set, 2 warnings (0.000 sec)
Voyons l'avertissement :
SHOW WARNINGS;
Résultat :
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' | | Warning | 1365 | Division by 0 | +---------+------+-----------------------------------------+
Arguments nuls
LOG2()
renvoie null
si son argument est null
:
SELECT LOG2(null);
Résultat :
+------------+ | LOG2(null) | +------------+ | NULL | +------------+
Arguments manquants
Appel de LOG2()
avec le mauvais nombre d'arguments, ou sans aucun argument entraîne une erreur :
SELECT LOG2();
Résultat :
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'
Et :
SELECT LOG2(10, 2);
Résultat :
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'