LEAST() 是 Oracle 中一個非常有用的函數,用于從一組表達式中返回最小值
LEAST()函數會從給定的參數列表中返回最小的值,它與GREATEST()函數正好相反
語法格式
LEAST(expr1, expr2 [, expr3, ...])
參數說明
expr1, expr2, ...:要比較的表達式(至少需要兩個參數),可以是列名、常量、函數或計算表達式
示例
-- 數值比較
SELECT LEAST(10, 20, 5, 30) AS min_value FROM dual; -- 5-- 字符串比較
SELECT LEAST('Apple', 'Banana', 'Cherry') AS min_string FROM dual; -- 'Apple' (按字母順序比較)-- 日期比較
-- 結果: 2024-12-31
SELECT LEAST(TO_DATE('2025-01-01', 'YYYY-MM-DD'),TO_DATE('2025-02-15', 'YYYY-MM-DD'),TO_DATE('2024-12-31', 'YYYY-MM-DD')) AS earliest_date
FROM dual;-- 混合數據類型比較
SELECT LEAST(100, '200', 300) AS min_value FROM dual; -- 100 (字符串'200'被隱式轉換為數字)-- 任何參數為NULL則返回NULL
SELECT LEAST(10, 20, NULL, 5) AS min_value FROM dual; -- NULL
提示Tips
①?LEAST()函數如果其任一參數為 NULL,則返回 NULL
② LEAST()函數的參數可以是任何數據類型(數值、字符、日期等)
③?所有參數應該可以隱式轉換為第一個參數的數據類型
盡量比較相同數據類型的值,保持數據類型一致性,隱式轉換可能導致意外結果或錯誤