I MariaDB, LEAST()
er en indbygget funktion, der returnerer det mindste (dvs. mindste/mindste værdi) argument fra sin liste over argumenter.
For at få den bedste værdi, brug GREATEST()
.
Syntaks
Syntaksen ser sådan ud:
LEAST(value1,value2,...)
Hvor value1,value2,…
er to eller flere argumenter, der skal returneres den mindste/mindste værdi.
Eksempel
Her er et eksempel:
SELECT LEAST(3, 8);
Resultat:
+-------------+ | LEAST(3, 8) | +-------------+ | 3 | +-------------+
Her er et andet eksempel, der bruger flere argumenter:
SELECT LEAST(10, 7, 9, 12, 80, 8, 14);
Resultat:
+--------------------------------+ | LEAST(10, 7, 9, 12, 80, 8, 14) | +--------------------------------+ | 7 | +--------------------------------+
Udtryk
Argumenterne kan indeholde udtryk som dette:
SELECT LEAST(2 * 3, 1 * 3);
Resultat:
+---------------------+ | LEAST(2 * 3, 1 * 3) | +---------------------+ | 3 | +---------------------+
Strenge
Argumenterne behøver ikke at være numeriske. For eksempel, her er en sammenligning af strenge:
SELECT LEAST('a', 'b', 'c');
Resultat:
+----------------------+ | LEAST('a', 'b', 'c') | +----------------------+ | a | +----------------------+
Datoer
Her er en sammenligning af datostrenge:
SELECT LEAST('2020-01-01', '2021-01-01');
Resultat:
+-----------------------------------+ | LEAST('2020-01-01', '2021-01-01') | +-----------------------------------+ | 2020-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 LEAST('Cat', 10);
Resultat:
+------------------+ | LEAST('Cat', 10) | +------------------+ | 0 | +------------------+ 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
LEAST()
returnerer null
hvis et argument er null
:
SELECT LEAST(1, null, 3);
Resultat:
+-------------------+ | LEAST(1, null, 3) | +-------------------+ | NULL | +-------------------+
Manglende argumenter
Kalder LEAST()
med det forkerte antal argumenter eller uden argumenter resulterer i en fejl:
SELECT LEAST();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'
Og:
SELECT LEAST(10);
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'