In MariaDB, GREATEST()
is een ingebouwde functie die het grootste (d.w.z. grootste/maximaal gewaardeerde) argument uit de lijst met argumenten retourneert.
Het minimum teruggeven -waardeargument, gebruik LEAST()
.
Syntaxis
De syntaxis gaat als volgt:
GREATEST(value1,value2,...)
Waar value1,value2,…
is twee of meer argumenten waarvoor de grootste moet worden geretourneerd.
Voorbeeld
Hier is een voorbeeld:
SELECT GREATEST(3, 8);
Resultaat:
+----------------+ | GREATEST(3, 8) | +----------------+ | 8 | +----------------+
Hier is nog een voorbeeld dat meer argumenten gebruikt:
SELECT GREATEST(3, 8, 9, 12, 80, 7, 4);
Resultaat:
+---------------------------------+ | GREATEST(3, 8, 9, 12, 80, 7, 4) | +---------------------------------+ | 80 | +---------------------------------+
Uitdrukkingen
De argumenten kunnen uitdrukkingen als deze bevatten:
SELECT GREATEST(2 * 3, 1 * 3);
Resultaat:
+------------------------+ | GREATEST(2 * 3, 1 * 3) | +------------------------+ | 6 | +------------------------+
Snaren
De argumenten hoeven niet numeriek te zijn. Hier is bijvoorbeeld een vergelijking van strings:
SELECT GREATEST('a', 'b', 'z');
Resultaat:
+-------------------------+ | GREATEST('a', 'b', 'z') | +-------------------------+ | z | +-------------------------+
Datums
Hier is een vergelijking van datumreeksen:
SELECT GREATEST('2020-01-01', '2021-01-01');
Resultaat:
+--------------------------------------+ | GREATEST('2020-01-01', '2021-01-01') | +--------------------------------------+ | 2021-01-01 | +--------------------------------------+
Gemengde soorten
De MariaDB-documentatie stelt dat als een argument een hoofdlettergevoelige tekenreeks is, de argumenten worden vergeleken als hoofdlettergevoelige tekenreeksen. Het kan echter zijn dat mengtypes onverwachte resultaten en een waarschuwing kunnen opleveren.
Voorbeeld:
SELECT GREATEST('Cat', 10);
Resultaat:
+---------------------+ | GREATEST('Cat', 10) | +---------------------+ | 10 | +---------------------+ 1 row in set, 1 warning (0.000 sec)
Controleer de waarschuwing:
SHOW WARNINGS;
Resultaat:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | +---------+------+-----------------------------------------+
Nullargumenten
GREATEST()
retourneert null
als een argument null
is :
SELECT GREATEST(1, null, 3);
Resultaat:
+----------------------+ | GREATEST(1, null, 3) | +----------------------+ | NULL | +----------------------+
Ontbrekende argumenten
GREATEST()
. aanroepen met het verkeerde aantal argumenten, of zonder argumenten resulteert in een fout:
SELECT GREATEST();
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'
En:
SELECT GREATEST(10);
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'