MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Fonctionnement de LEAST() dans MariaDB

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,...)

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'