MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como o ABS() funciona no MariaDB


No MariaDB, ABS() é uma função numérica interna que retorna o valor absoluto (não negativo) de seu argumento.

Sintaxe


A sintaxe fica assim:
ABS(X)

Onde X é o número em questão. Se X não é um número, ele é convertido em um tipo numérico.

Exemplo


Aqui está um exemplo:
SELECT ABS(300);

Resultado:
+----------+
| ABS(300) |
+----------+
|      300 |
+----------+

Obtemos o mesmo resultado se o número for negativo:
SELECT ABS(-300);

Resultado:
+-----------+
| ABS(-300) |
+-----------+
|       300 |
+-----------+

Argumento não numérico


Se o argumento não for um número, ele será convertido em um tipo numérico.

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

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

No entanto, isso depende do argumento/contexto.

Veja o que acontece quando eu omito DATE palavra-chave:
SELECT ABS('2020-12-10');

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

Vamos verificar o aviso:
SHOW WARNINGS;

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

Argumento ausente


Chamando ABS() sem um argumento resulta em um erro:
SELECT ABS();

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