MariaDB
 sql >> Database >  >> RDS >> MariaDB

Come funziona ABS() in MariaDB

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'