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'