Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Função MySQL LEAST() – Encontre o menor argumento em uma lista de argumentos


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 como DECIMAL 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.