sql >> Database >  >> RDS >> MariaDB

Hoe ABS() werkt in MariaDB

In MariaDB, ABS() is een ingebouwde numerieke functie die de absolute (niet-negatieve) waarde van zijn argument retourneert.

Syntaxis

De syntaxis gaat als volgt:

ABS(X)

Waar X is het nummer in kwestie. Als X is geen getal, het wordt geconverteerd naar een numeriek type.

Voorbeeld

Hier is een voorbeeld:

SELECT ABS(300);

Resultaat:

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

We krijgen hetzelfde resultaat als het getal negatief is:

SELECT ABS(-300);

Resultaat:

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

Niet-numeriek argument

Als het argument geen getal is, wordt het geconverteerd naar een numeriek type.

Voorbeeld:

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

Resultaat:

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

Dit hangt echter af van het argument/de context.

Dit gebeurt er als ik de DATE weglaat zoekwoord:

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

Resultaat:

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

Laten we de waarschuwing eens bekijken:

SHOW WARNINGS;

Resultaat:

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

Ontbrekend argument

Bellen ABS() zonder een argument resulteert in een fout:

SELECT ABS();

Resultaat:

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

  1. Moet ik een rij in een relationele database verwijderen of uitschakelen?

  2. Is er een hash-functie in PL/SQL?

  3. Installeer MySQL op Ubuntu 14.04

  4. Django implementeren in Heroku (Psycopg2-fout)