I MariaDB, LEAST()
är en inbyggd funktion som returnerar det minsta (d.v.s. minsta/minsta värdena) argumentet från sin lista med argument.
För att få den bästa värde, använd GREATEST()
.
Syntax
Syntaxen ser ut så här:
LEAST(value1,value2,...)
Där value1,value2,…
är två eller flera argument för att returnera det minsta/minsta värdet.
Exempel
Här är ett exempel:
SELECT LEAST(3, 8);
Resultat:
+-------------+ | LEAST(3, 8) | +-------------+ | 3 | +-------------+
Här är ett annat exempel som använder fler argument:
SELECT LEAST(10, 7, 9, 12, 80, 8, 14);
Resultat:
+--------------------------------+ | LEAST(10, 7, 9, 12, 80, 8, 14) | +--------------------------------+ | 7 | +--------------------------------+
Uttryck
Argumenten kan innehålla uttryck som detta:
SELECT LEAST(2 * 3, 1 * 3);
Resultat:
+---------------------+ | LEAST(2 * 3, 1 * 3) | +---------------------+ | 3 | +---------------------+
Strängar
Argumenten behöver inte vara numeriska. Till exempel, här är en jämförelse av strängar:
SELECT LEAST('a', 'b', 'c');
Resultat:
+----------------------+ | LEAST('a', 'b', 'c') | +----------------------+ | a | +----------------------+
Datum
Här är en jämförelse av datumsträngar:
SELECT LEAST('2020-01-01', '2021-01-01');
Resultat:
+-----------------------------------+ | LEAST('2020-01-01', '2021-01-01') | +-----------------------------------+ | 2020-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 LEAST('Cat', 10);
Resultat:
+------------------+ | LEAST('Cat', 10) | +------------------+ | 0 | +------------------+ 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
LEAST()
returnerar null
om något argument är null
:
SELECT LEAST(1, null, 3);
Resultat:
+-------------------+ | LEAST(1, null, 3) | +-------------------+ | NULL | +-------------------+
Argument saknas
Anropar LEAST()
med fel antal argument, eller utan några argument resulterar i ett fel:
SELECT LEAST();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'
Och:
SELECT LEAST(10);
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'