I MariaDB, GREATEST()
er en indbygget funktion, der returnerer det største (dvs. største/maksimale værdi) argument fra sin liste over argumenter.
For at returnere minimum -valued argument, brug LEAST()
.
Syntaks
Syntaksen ser sådan ud:
GREATEST(value1,value2,...)
Hvor value1,value2,…
er to eller flere argumenter, der skal returneres det største for.
Eksempel
Her er et eksempel:
SELECT GREATEST(3, 8);
Resultat:
+----------------+ | GREATEST(3, 8) | +----------------+ | 8 | +----------------+
Her er et andet eksempel, der bruger flere argumenter:
SELECT GREATEST(3, 8, 9, 12, 80, 7, 4);
Resultat:
+---------------------------------+ | GREATEST(3, 8, 9, 12, 80, 7, 4) | +---------------------------------+ | 80 | +---------------------------------+
Udtryk
Argumenterne kan indeholde udtryk som dette:
SELECT GREATEST(2 * 3, 1 * 3);
Resultat:
+------------------------+ | GREATEST(2 * 3, 1 * 3) | +------------------------+ | 6 | +------------------------+
Strenge
Argumenterne behøver ikke at være numeriske. For eksempel, her er en sammenligning af strenge:
SELECT GREATEST('a', 'b', 'z');
Resultat:
+-------------------------+ | GREATEST('a', 'b', 'z') | +-------------------------+ | z | +-------------------------+
Datoer
Her er en sammenligning af datostrenge:
SELECT GREATEST('2020-01-01', '2021-01-01');
Resultat:
+--------------------------------------+ | GREATEST('2020-01-01', '2021-01-01') | +--------------------------------------+ | 2021-01-01 | +--------------------------------------+
Blandede typer
MariaDB-dokumentationen angiver, at hvis et argument er en tekstfølsom streng, sammenlignes argumenterne som store og små bogstaver. Du kan dog opleve, at blandingstyper kan give uventede resultater og en advarsel.
Eksempel:
SELECT GREATEST('Cat', 10);
Resultat:
+---------------------+ | GREATEST('Cat', 10) | +---------------------+ | 10 | +---------------------+ 1 row in set, 1 warning (0.000 sec)
Tjek advarslen:
SHOW WARNINGS;
Resultat:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | +---------+------+-----------------------------------------+
Nul-argumenter
GREATEST()
returnerer null
hvis et argument er null
:
SELECT GREATEST(1, null, 3);
Resultat:
+----------------------+ | GREATEST(1, null, 3) | +----------------------+ | NULL | +----------------------+
Manglende argumenter
Kalder GREATEST()
med det forkerte antal argumenter eller uden argumenter resulterer i en fejl:
SELECT GREATEST();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'
Og:
SELECT GREATEST(10);
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'