LEAST用於比較一組值,並返回其中的最小值。
命令格式
least(<var1>, <var2>[,...])參數說明
var :必填,輸入值。BIGINT、DOUBLE、DECIMAL、DATETIME、DATE或STRING類型。
傳回值說明
返回輸入參數中的最小值。
當輸入參數資料類型相同時,傳回值同輸入參數資料類型。
當輸入參數資料類型不相同時,會進行隱式轉換,規則如下:
DOUBLE、BIGINT、STRING之間的比較會轉換為DOUBLE類型。
DECIMAL、DOUBLE、BIGINT和STRING之間的比較會轉換為DECIMAL類型。
STRING、DATETIME的比較會轉換為DATETIME類型。
說明當輸入格式為
yyyy-mm-dd hh:mi:ss的STRING類型,且MaxCompute專案的資料類型版本是1.0時,則會隱式轉換為DATETIME類型後參與運算。資料類型版本設定請參見1.0資料類型版本。
NULL值預設為最小值。當所有參數輸入為NULL,返回結果為NULL。
使用樣本
-- 返回2。
SELECT least(5, 2, 7);
-- 返回1.1111。
SELECT least(3,2.5,'1.1111');
-- 返回12345678901234567890.123456789012345679。
SELECT least(12345678901234567890.12345678901234567890,12345678901234567890.523456789012345679BD);
-- 返回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;
-- 返回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;相關函數
LEAST函數屬於數學函數,更多資料計算、資料轉換的相關函數請參見數學函數。