V MariaDB, ABS() je vestavěná numerická funkce, která vrací absolutní (nezápornou) hodnotu svého argumentu.
Syntaxe
Syntaxe vypadá takto:
ABS(X)
Kde X je dotyčné číslo. Pokud X není číslo, je převedeno na číselný typ.
Příklad
Zde je příklad:
SELECT ABS(300); Výsledek:
+----------+ | ABS(300) | +----------+ | 300 | +----------+
Pokud je číslo záporné, dostaneme stejný výsledek:
SELECT ABS(-300); Výsledek:
+-----------+ | ABS(-300) | +-----------+ | 300 | +-----------+
Nečíselný argument
Pokud argument není číslo, převede se na číselný typ.
Příklad:
SELECT ABS(DATE '2020-12-10'); Výsledek:
+------------------------+ | ABS(DATE '2020-12-10') | +------------------------+ | 20201210 | +------------------------+
To však závisí na argumentu/kontextu.
Zde je to, co se stane, když vynechám DATE klíčové slovo:
SELECT ABS('2020-12-10'); Výsledek:
+-------------------+
| ABS('2020-12-10') |
+-------------------+
| 2020 |
+-------------------+
1 row in set, 1 warning (0.000 sec) Podívejme se na varování:
SHOW WARNINGS; Výsledek:
+---------+------+------------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: '2020-12-10' | +---------+------+------------------------------------------------+
Chybí argument
Volání ABS() bez argumentu vede k chybě:
SELECT ABS(); Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ABS'