I MariaDB, GREATEST() är en inbyggd funktion som returnerar det största (d.v.s. största/högsta) argumentet från sin lista med argument.
För att returnera minimum -valued argument, använd LEAST() .
Syntax
Syntaxen ser ut så här:
GREATEST(value1,value2,...)
Där value1,value2,… är två eller flera argument för att returnera störst.
Exempel
Här är ett exempel:
SELECT GREATEST(3, 8); Resultat:
+----------------+ | GREATEST(3, 8) | +----------------+ | 8 | +----------------+
Här är ett annat exempel som använder fler argument:
SELECT GREATEST(3, 8, 9, 12, 80, 7, 4); Resultat:
+---------------------------------+ | GREATEST(3, 8, 9, 12, 80, 7, 4) | +---------------------------------+ | 80 | +---------------------------------+
Uttryck
Argumenten kan innehålla uttryck som detta:
SELECT GREATEST(2 * 3, 1 * 3); Resultat:
+------------------------+ | GREATEST(2 * 3, 1 * 3) | +------------------------+ | 6 | +------------------------+
Strängar
Argumenten behöver inte vara numeriska. Till exempel, här är en jämförelse av strängar:
SELECT GREATEST('a', 'b', 'z'); Resultat:
+-------------------------+
| GREATEST('a', 'b', 'z') |
+-------------------------+
| z |
+-------------------------+ Datum
Här är en jämförelse av datumsträngar:
SELECT GREATEST('2020-01-01', '2021-01-01'); Resultat:
+--------------------------------------+
| GREATEST('2020-01-01', '2021-01-01') |
+--------------------------------------+
| 2021-01-01 |
+--------------------------------------+ Blandade typer
MariaDB-dokumentationen säger att om något argument är en skiftlägeskänslig sträng jämförs argumenten som skiftlägeskänsliga strängar. Du kan dock upptäcka att blandningstyper kan ge oväntade resultat och en varning.
Exempel:
SELECT GREATEST('Cat', 10); Resultat:
+---------------------+
| GREATEST('Cat', 10) |
+---------------------+
| 10 |
+---------------------+
1 row in set, 1 warning (0.000 sec) Kontrollera varningen:
SHOW WARNINGS; Resultat:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | +---------+------+-----------------------------------------+
Nollargument
GREATEST() returnerar null om något argument är null :
SELECT GREATEST(1, null, 3); Resultat:
+----------------------+ | GREATEST(1, null, 3) | +----------------------+ | NULL | +----------------------+
Argument saknas
Anropar GREATEST() med fel antal argument, eller utan några argument resulterar i ett fel:
SELECT GREATEST(); Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'
Och:
SELECT GREATEST(10); Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'