MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment ABS() fonctionne dans MariaDB

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)

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'