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'