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'