De MySQL GREATEST()
functie is een vergelijkingsfunctie die de grootste waarde uit een lijst met waarden retourneert.
De lijst met waarden wordt geleverd als meerdere argumenten. Dus met andere woorden, GREATEST()
geeft het argument met de maximale waarde terug uit een lijst met argumenten.
Syntaxis
De syntaxis van GREATEST()
gaat als volgt:
GREATEST(value1,value2,...)
Elk argument wordt gescheiden door een komma. Deze functie vergelijkt ze allemaal en retourneert degene met de grootste waarde.
Voorbeeld 1 – Nummers vergelijken
Als alle argumenten gehele getallen zijn, worden ze vergeleken als gehele getallen.
SELECT GREATEST(12, 120, 2400) AS 'Result';
Resultaat:
+--------+ | Result | +--------+ | 2400 | +--------+
Als ten minste één argument dubbele precisie is, worden ze vergeleken als dubbele-precisiewaarden. Anders, als ten minste één argument een DECIMAL
is waarde, worden ze vergeleken als DECIMAL
waarden.
SELECT GREATEST(12.00, 120, 2400) AS 'Result';
Resultaat:
+---------+ | Result | +---------+ | 2400.00 | +---------+
Zie hieronder voor de exacte regels voor het bepalen van de retourwaarde.
Voorbeeld 2 – Strings vergelijken
Hier is een voorbeeld van het vergelijken van strings.
SELECT GREATEST('a', 'b', 'c') AS 'Result';
Resultaat:
+--------+ | Result | +--------+ | c | +--------+
Hier is er nog een:
SELECT GREATEST('Cat', 'Dogg', 'Rat') AS 'Result';
Resultaat:
+--------+ | Result | +--------+ | Rat | +--------+
Voorbeeld 3 – NULL-waarden
Als een van de argumenten NULL
. is , het resultaat is NULL
.
SELECT GREATEST('a', NULL, 'c') AS 'Result';
Resultaat:
+--------+ | Result | +--------+ | NULL | +--------+
Vergelijkingsregels
Bij het bepalen van de retourwaarde worden bepaalde regels gehanteerd. Deze regels zijn als volgt:
- Als een argument
NULL
is , het resultaat isNULL
. Er is geen vergelijking nodig. - Als alle argumenten een geheel getal zijn, worden ze vergeleken als gehele getallen.
- Als ten minste één argument dubbele precisie is, worden ze vergeleken als dubbele-precisiewaarden. Anders, als ten minste één argument een
DECIMAL
is waarde, worden ze vergeleken alsDECIMAL
waarden. - Als de argumenten een combinatie van getallen en tekenreeksen bevatten, worden ze vergeleken als getallen.
- Als een argument een niet-binaire tekenreeks is, worden de argumenten vergeleken als niet-binaire tekenreeksen.
- In alle andere gevallen worden de argumenten vergeleken als binaire strings.