sql >> Databáze >  >> RDS >> MariaDB

Jak ABS() funguje v MariaDB

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'

  1. Instalace MySQL Pythonu na Mac OS X

  2. Předání varchar plného hodnot oddělených čárkou do funkce SQL Server IN

  3. Zapomenutý operátor přiřazení =a obyčejný :=

  4. Jak funguje funkce LOWER() v MySQL