sql >> Base de Datos >  >> RDS >> MariaDB

Cómo funciona ABS() en MariaDB

En MariaDB, ABS() es una función numérica integrada que devuelve el valor absoluto (no negativo) de su argumento.

Sintaxis

La sintaxis es así:

ABS(X)

Donde X es el numero en cuestion Si X no es un número, se convierte a un tipo numérico.

Ejemplo

He aquí un ejemplo:

SELECT ABS(300);

Resultado:

+----------+
| ABS(300) |
+----------+
|      300 |
+----------+

Obtenemos el mismo resultado si el número es negativo:

SELECT ABS(-300);

Resultado:

+-----------+
| ABS(-300) |
+-----------+
|       300 |
+-----------+

Argumento no numérico

Si el argumento no es un número, se convierte a un tipo numérico.

Ejemplo:

SELECT ABS(DATE '2020-12-10');

Resultado:

+------------------------+
| ABS(DATE '2020-12-10') |
+------------------------+
|               20201210 |
+------------------------+

Sin embargo, esto depende del argumento/contexto.

Esto es lo que sucede cuando omito la DATE palabra clave:

SELECT ABS('2020-12-10');

Resultado:

+-------------------+
| ABS('2020-12-10') |
+-------------------+
|              2020 |
+-------------------+
1 row in set, 1 warning (0.000 sec)

Revisemos la advertencia:

SHOW WARNINGS;

Resultado:

+---------+------+------------------------------------------------+
| Level   | Code | Message                                        |
+---------+------+------------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: '2020-12-10' |
+---------+------+------------------------------------------------+

Argumento faltante

Llamando a ABS() sin un argumento da como resultado un error:

SELECT ABS();

Resultado:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ABS'