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'