I MariaDB, ABS()
är en inbyggd numerisk funktion som returnerar det absoluta (icke-negativa) värdet av dess argument.
Syntax
Syntaxen ser ut så här:
ABS(X)
Där X
är numret i fråga. Om X
är inte ett tal, det konverteras till en numerisk typ.
Exempel
Här är ett exempel:
SELECT ABS(300);
Resultat:
+----------+ | ABS(300) | +----------+ | 300 | +----------+
Vi får samma resultat om talet är negativt:
SELECT ABS(-300);
Resultat:
+-----------+ | ABS(-300) | +-----------+ | 300 | +-----------+
Icke-numeriskt argument
Om argumentet inte är ett tal, konverteras det till en numerisk typ.
Exempel:
SELECT ABS(DATE '2020-12-10');
Resultat:
+------------------------+ | ABS(DATE '2020-12-10') | +------------------------+ | 20201210 | +------------------------+
Detta beror dock på argumentet/kontexten.
Det här är vad som händer när jag utelämnar DATE
nyckelord:
SELECT ABS('2020-12-10');
Resultat:
+-------------------+ | ABS('2020-12-10') | +-------------------+ | 2020 | +-------------------+ 1 row in set, 1 warning (0.000 sec)
Låt oss kolla varningen:
SHOW WARNINGS;
Resultat:
+---------+------+------------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: '2020-12-10' | +---------+------+------------------------------------------------+
Argument saknas
Anropar ABS()
utan argument resulterar i ett fel:
SELECT ABS();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ABS'