V MariaDB, GREATEST()
je vestavěná funkce, která vrací největší (tj. největší/maximální) argument ze svého seznamu argumentů.
Chcete-li vrátit minimum -hodnotový argument, použijte LEAST()
.
Syntaxe
Syntaxe vypadá takto:
GREATEST(value1,value2,...)
Kde value1,value2,…
jsou dva nebo více argumentů, pro které se má vrátit největší.
Příklad
Zde je příklad:
SELECT GREATEST(3, 8);
Výsledek:
+----------------+ | GREATEST(3, 8) | +----------------+ | 8 | +----------------+
Zde je další příklad, který používá více argumentů:
SELECT GREATEST(3, 8, 9, 12, 80, 7, 4);
Výsledek:
+---------------------------------+ | GREATEST(3, 8, 9, 12, 80, 7, 4) | +---------------------------------+ | 80 | +---------------------------------+
Výrazy
Argumenty mohou obsahovat výrazy jako je tento:
SELECT GREATEST(2 * 3, 1 * 3);
Výsledek:
+------------------------+ | GREATEST(2 * 3, 1 * 3) | +------------------------+ | 6 | +------------------------+
Řetězce
Argumenty nemusí být číselné. Zde je například srovnání řetězců:
SELECT GREATEST('a', 'b', 'z');
Výsledek:
+-------------------------+ | GREATEST('a', 'b', 'z') | +-------------------------+ | z | +-------------------------+
Data
Zde je srovnání datových řetězců:
SELECT GREATEST('2020-01-01', '2021-01-01');
Výsledek:
+--------------------------------------+ | GREATEST('2020-01-01', '2021-01-01') | +--------------------------------------+ | 2021-01-01 | +--------------------------------------+
Smíšené typy
Dokumentace MariaDB uvádí, že pokud je některý argument řetězcem rozlišujícím malá a velká písmena, argumenty jsou porovnávány jako řetězce rozlišující malá a velká písmena. Můžete však zjistit, že míchání typů může přinést neočekávané výsledky a varování.
Příklad:
SELECT GREATEST('Cat', 10);
Výsledek:
+---------------------+ | GREATEST('Cat', 10) | +---------------------+ | 10 | +---------------------+ 1 row in set, 1 warning (0.000 sec)
Zkontrolujte varování:
SHOW WARNINGS;
Výsledek:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | +---------+------+-----------------------------------------+
Nulové argumenty
GREATEST()
vrátí null
pokud je nějaký argument null
:
SELECT GREATEST(1, null, 3);
Výsledek:
+----------------------+ | GREATEST(1, null, 3) | +----------------------+ | NULL | +----------------------+
Chybí argumenty
Volání GREATEST()
s nesprávným počtem argumentů nebo bez jakýchkoli argumentů vede k chybě:
SELECT GREATEST();
Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'
A:
SELECT GREATEST(10);
Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'