O MySQL
LEAST()
function é uma função de comparação que retorna o menor valor de uma lista de valores. A lista de valores é fornecida como vários argumentos. Então, em outras palavras,
LEAST()
retorna o argumento de valor mínimo de uma lista de argumentos. Sintaxe
A sintaxe de
LEAST()
fica assim:LEAST(value1,value2,...)
Cada argumento é separado por uma vírgula. Esta função compara todos eles e retorna aquele com o menor valor.
Exemplo 1 – Comparando Números
Se todos os argumentos forem inteiros, eles serão comparados como inteiros.
SELECT LEAST(12, 120, 2400) AS 'Result';
Resultado:
+--------+ | Result | +--------+ | 12 | +--------+
Se pelo menos um argumento for de precisão dupla, eles serão comparados como valores de precisão dupla. Caso contrário, se pelo menos um argumento for um
DECIMAL
valor, eles são comparados como DECIMAL
valores. SELECT LEAST(12, 120.00, 2400) AS 'Result';
Resultado:
+--------+ | Result | +--------+ | 12.00 | +--------+
Veja abaixo as regras exatas para determinar o valor de retorno.
Exemplo 2 – Comparando Strings
Aqui está um exemplo de comparação de strings.
SELECT LEAST('a', 'b', 'c') AS 'Result';
Resultado:
+--------+ | Result | +--------+ | a | +--------+
Aqui está mais um:
SELECT LEAST('Aardvark', 'Dog', 'Rat') AS 'Result';
Resultado:
+----------+ | Result | +----------+ | Aardvark | +----------+
Exemplo 3 - Valores NULOS
Se algum dos argumentos for
NULL
, o resultado é NULL
. SELECT LEAST('a', NULL, 'c') AS 'Result';
Resultado:
+--------+ | Result | +--------+ | NULL | +--------+
Regras de comparação
Certas regras são aplicadas ao determinar qual será o valor de retorno. Essas regras são as seguintes:
- Se algum argumento for
NULL
, o resultado éNULL
. Nenhuma comparação é necessária. - Se todos os argumentos tiverem valores inteiros, eles serão comparados como números inteiros.
- Se pelo menos um argumento for de precisão dupla, eles serão comparados como valores de precisão dupla. Caso contrário, se pelo menos um argumento for um
DECIMAL
valor, eles são comparados comoDECIMAL
valores. - Se os argumentos forem uma mistura de números e strings, eles serão comparados como números.
- Se algum argumento for uma string não binária (caracteres), os argumentos serão comparados como strings não binárias.
- Em todos os outros casos, os argumentos são comparados como strings binárias.