In MariaDB, ABS() è una funzione numerica incorporata che restituisce il valore assoluto (non negativo) del suo argomento.
Sintassi
La sintassi è questa:
ABS(X)
Dove X è il numero in questione. Se X non è un numero, viene convertito in un tipo numerico.
Esempio
Ecco un esempio:
SELECT ABS(300); Risultato:
+----------+ | ABS(300) | +----------+ | 300 | +----------+
Otteniamo lo stesso risultato se il numero è negativo:
SELECT ABS(-300); Risultato:
+-----------+ | ABS(-300) | +-----------+ | 300 | +-----------+
Argomento non numerico
Se l'argomento non è un numero, viene convertito in un tipo numerico.
Esempio:
SELECT ABS(DATE '2020-12-10'); Risultato:
+------------------------+ | ABS(DATE '2020-12-10') | +------------------------+ | 20201210 | +------------------------+
Tuttavia, questo dipende dall'argomento/contesto.
Ecco cosa succede quando ometto il DATE parola chiave:
SELECT ABS('2020-12-10'); Risultato:
+-------------------+
| ABS('2020-12-10') |
+-------------------+
| 2020 |
+-------------------+
1 row in set, 1 warning (0.000 sec) Controlliamo l'avviso:
SHOW WARNINGS; Risultato:
+---------+------+------------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: '2020-12-10' | +---------+------+------------------------------------------------+
Argomento mancante
Chiamando ABS() senza un argomento genera un errore:
SELECT ABS(); Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ABS'