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'