MySQL GREATEST()
funktion är en jämförelsefunktion som returnerar det största värdet från en lista med värden.
Värdelistan tillhandahålls som flera argument. Så med andra ord, GREATEST()
returnerar det maximalt värderade argumentet från en lista med argument.
Syntax
Syntaxen för GREATEST()
går så här:
GREATEST(value1,value2,...)
Varje argument avgränsas med ett kommatecken. Den här funktionen jämför dem alla och returnerar den med det största värdet.
Exempel 1 – Jämföra siffror
Om alla argument är heltal jämförs de som heltal.
SELECT GREATEST(12, 120, 2400) AS 'Result';
Resultat:
+--------+ | Result | +--------+ | 2400 | +--------+
Om minst ett argument är dubbel precision jämförs de som dubbelprecisionsvärden. Annars, om minst ett argument är en DECIMAL
värde, jämförs de som DECIMAL
värden.
SELECT GREATEST(12.00, 120, 2400) AS 'Result';
Resultat:
+---------+ | Result | +---------+ | 2400.00 | +---------+
Se nedan för de exakta reglerna för att bestämma returvärdet.
Exempel 2 – Jämföra strängar
Här är ett exempel på att jämföra strängar.
SELECT GREATEST('a', 'b', 'c') AS 'Result';
Resultat:
+--------+ | Result | +--------+ | c | +--------+
Här är en till:
SELECT GREATEST('Cat', 'Dogg', 'Rat') AS 'Result';
Resultat:
+--------+ | Result | +--------+ | Rat | +--------+
Exempel 3 – NULL-värden
Om något av argumenten är NULL
, resultatet är NULL
.
SELECT GREATEST('a', NULL, 'c') AS 'Result';
Resultat:
+--------+ | Result | +--------+ | NULL | +--------+
Jämförelseregler
Vissa regler tillämpas när man bestämmer vad returvärdet blir. Dessa regler är följande:
- Om något argument är
NULL
, resultatet ärNULL
. Ingen jämförelse behövs. - Om alla argument har ett heltalsvärde jämförs de som heltal.
- Om minst ett argument är dubbel precision jämförs de som värden med dubbel precision. Annars, om minst ett argument är en
DECIMAL
värde, jämförs de somDECIMAL
värden. - Om argumenten består av en blandning av tal och strängar jämförs de som tal.
- Om något argument är en ickebinär (teckensträng) jämförs argumenten som ickebinära strängar.
- I alla andra fall jämförs argumenten som binära strängar.