[Oracle] LEAST()函数
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()函数的参数可以是任何数据类型(数值、字符、日期等)
③ 所有参数应该可以隐式转换为第一个参数的数据类型
尽量比较相同数据类型的值,保持数据类型一致性,隐式转换可能导致意外结果或错误