En MariaDB, LEAST()
es una función integrada que devuelve el argumento mínimo (es decir, el más pequeño/de valor mínimo) de su lista de argumentos.
Para obtener lo mejor mejor valor, use GREATEST()
.
Sintaxis
La sintaxis es así:
LEAST(value1,value2,...)
Donde value1,value2,…
son dos o más argumentos para los cuales devolver el valor más pequeño/mínimo.
Ejemplo
He aquí un ejemplo:
SELECT LEAST(3, 8);
Resultado:
+-------------+ | LEAST(3, 8) | +-------------+ | 3 | +-------------+
Aquí hay otro ejemplo que usa más argumentos:
SELECT LEAST(10, 7, 9, 12, 80, 8, 14);
Resultado:
+--------------------------------+ | LEAST(10, 7, 9, 12, 80, 8, 14) | +--------------------------------+ | 7 | +--------------------------------+
Expresiones
Los argumentos pueden incluir expresiones como esta:
SELECT LEAST(2 * 3, 1 * 3);
Resultado:
+---------------------+ | LEAST(2 * 3, 1 * 3) | +---------------------+ | 3 | +---------------------+
Cuerdas
Los argumentos no necesitan ser numéricos. Por ejemplo, aquí hay una comparación de cadenas:
SELECT LEAST('a', 'b', 'c');
Resultado:
+----------------------+ | LEAST('a', 'b', 'c') | +----------------------+ | a | +----------------------+
Fechas
Aquí hay una comparación de cadenas de fecha:
SELECT LEAST('2020-01-01', '2021-01-01');
Resultado:
+-----------------------------------+ | LEAST('2020-01-01', '2021-01-01') | +-----------------------------------+ | 2020-01-01 | +-----------------------------------+
Tipos mixtos
La documentación de MariaDB establece que si algún argumento es una cadena que distingue entre mayúsculas y minúsculas, los argumentos se comparan como cadenas que distinguen entre mayúsculas y minúsculas. Sin embargo, es posible que la mezcla de tipos produzca resultados inesperados y una advertencia.
Ejemplo:
SELECT LEAST('Cat', 10);
Resultado:
+------------------+ | LEAST('Cat', 10) | +------------------+ | 0 | +------------------+ 1 row in set, 1 warning (0.000 sec)
Compruebe la advertencia:
SHOW WARNINGS;
Resultado:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | +---------+------+-----------------------------------------+
Argumentos nulos
LEAST()
devuelve null
si algún argumento es null
:
SELECT LEAST(1, null, 3);
Resultado:
+-------------------+ | LEAST(1, null, 3) | +-------------------+ | NULL | +-------------------+
Argumentos faltantes
Llamando a LEAST()
con el número incorrecto de argumentos, o sin ningún argumento da como resultado un error:
SELECT LEAST();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'
Y:
SELECT LEAST(10);
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'