Dans MariaDB, ABS()
est une fonction numérique intégrée qui renvoie la valeur absolue (non négative) de son argument.
Syntaxe
La syntaxe ressemble à ceci :
ABS(X)
Où X
est le nombre en question. Si X
n'est pas un nombre, il est converti en un type numérique.
Exemple
Voici un exemple :
SELECT ABS(300);
Résultat :
+----------+ | ABS(300) | +----------+ | 300 | +----------+
On obtient le même résultat si le nombre est négatif :
SELECT ABS(-300);
Résultat :
+-----------+ | ABS(-300) | +-----------+ | 300 | +-----------+
Argument non numérique
Si l'argument n'est pas un nombre, il est converti en un type numérique.
Exemple :
SELECT ABS(DATE '2020-12-10');
Résultat :
+------------------------+ | ABS(DATE '2020-12-10') | +------------------------+ | 20201210 | +------------------------+
Cependant, cela dépend de l'argument/du contexte.
Voici ce qui se passe lorsque j'omets le DATE
mot-clé :
SELECT ABS('2020-12-10');
Résultat :
+-------------------+ | ABS('2020-12-10') | +-------------------+ | 2020 | +-------------------+ 1 row in set, 1 warning (0.000 sec)
Vérifions l'avertissement :
SHOW WARNINGS;
Résultat :
+---------+------+------------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: '2020-12-10' | +---------+------+------------------------------------------------+
Argument manquant
Appel de ABS()
sans argument génère une erreur :
SELECT ABS();
Résultat :
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ABS'