Dans MariaDB, LEAST()
est une fonction intégrée qui renvoie l'argument le plus petit (c'est-à-dire le plus petit/le plus petit) de sa liste d'arguments.
Pour obtenir le meilleur valeur, utilisez GREATEST()
.
Syntaxe
La syntaxe ressemble à ceci :
LEAST(value1,value2,...)
Où value1,value2,…
est deux arguments ou plus pour lesquels renvoyer la valeur la plus petite/minimale.
Exemple
Voici un exemple :
SELECT LEAST(3, 8);
Résultat :
+-------------+ | LEAST(3, 8) | +-------------+ | 3 | +-------------+
Voici un autre exemple qui utilise plus d'arguments :
SELECT LEAST(10, 7, 9, 12, 80, 8, 14);
Résultat :
+--------------------------------+ | LEAST(10, 7, 9, 12, 80, 8, 14) | +--------------------------------+ | 7 | +--------------------------------+
Expressions
Les arguments peuvent inclure des expressions telles que :
SELECT LEAST(2 * 3, 1 * 3);
Résultat :
+---------------------+ | LEAST(2 * 3, 1 * 3) | +---------------------+ | 3 | +---------------------+
Chaînes
Les arguments n'ont pas besoin d'être numériques. Par exemple, voici une comparaison de chaînes :
SELECT LEAST('a', 'b', 'c');
Résultat :
+----------------------+ | LEAST('a', 'b', 'c') | +----------------------+ | a | +----------------------+
Dates
Voici une comparaison des chaînes de date :
SELECT LEAST('2020-01-01', '2021-01-01');
Résultat :
+-----------------------------------+ | LEAST('2020-01-01', '2021-01-01') | +-----------------------------------+ | 2020-01-01 | +-----------------------------------+
Types mixtes
La documentation MariaDB indique que si un argument est une chaîne sensible à la casse, les arguments sont comparés en tant que chaînes sensibles à la casse. Cependant, vous pouvez constater que le mélange de types peut produire des résultats inattendus et un avertissement.
Exemple :
SELECT LEAST('Cat', 10);
Résultat :
+------------------+ | LEAST('Cat', 10) | +------------------+ | 0 | +------------------+ 1 row in set, 1 warning (0.000 sec)
Vérifiez l'avertissement :
SHOW WARNINGS;
Résultat :
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | +---------+------+-----------------------------------------+
Arguments nuls
LEAST()
renvoie null
si un argument est null
:
SELECT LEAST(1, null, 3);
Résultat :
+-------------------+ | LEAST(1, null, 3) | +-------------------+ | NULL | +-------------------+
Arguments manquants
Appel de LEAST()
avec le mauvais nombre d'arguments, ou sans aucun argument entraîne une erreur :
SELECT LEAST();
Résultat :
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'
Et :
SELECT LEAST(10);
Résultat :
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'