A função LEAST compara um conjunto de valores e retorna o menor deles.
Formato do comando
least(<var1>, <var2>[,...])
Parâmetros
var: Obrigatório. Valor de entrada dos tipos de dados BIGINT, DOUBLE, DECIMAL, DATETIME, DATE ou STRING.
Valor de retorno
Retorna o menor valor entre os parâmetros de entrada.
Se todos os parâmetros de entrada tiverem o mesmo tipo de dados, o valor de retorno manterá esse tipo.
-
Se os parâmetros de entrada tiverem tipos de dados diferentes, a conversão implícita seguirá as regras abaixo:
Ao comparar valores dos tipos DOUBLE, BIGINT e STRING, eles serão convertidos para o tipo DOUBLE.
Ao comparar valores dos tipos DECIMAL, DOUBLE, BIGINT e STRING, eles serão convertidos para o tipo DECIMAL.
-
Ao comparar valores dos tipos STRING e DATETIME, eles serão convertidos para o tipo DATETIME.
NotaSe um valor STRING estiver no formato
yyyy-mm-dd hh:mi:sse a edição de tipos de dados do seu projeto MaxCompute estiver definida como 1.0, o valor será convertido implicitamente para o tipo DATETIME. Para mais informações sobre como definir a edição de tipos de dados, consulte Data type edition 1.0.
NULL é considerado o menor valor. Se todos os parâmetros de entrada forem NULL, a função retornará NULL.
Exemplos
-- Returns 2.
SELECT least(5, 2, 7);
-- Returns 1.1111.
SELECT least(3,2.5,'1.1111');
-- Returns 12345678901234567890.123456789012345679.
SELECT least(12345678901234567890.12345678901234567890,12345678901234567890.523456789012345679BD);
-- Returns 2025-07-01 12:00:00.
set odps.sql.type.system.odps2=false;
SELECT LEAST(datetime'2025-07-01 12:00:00', '2025-07-02 12:00:00') AS result;
-- Returns 2025-02-02.
set odps.sql.type.system.odps2=true;
SELECT LEAST(date'2025-10-01', date'2025-10-03', date'2026-01-01',date'2025-02-02') AS result;
Funções relacionadas
LEAST é uma função matemática. Para mais informações sobre funções de computação e conversão de dados, consulte Mathematical functions.