[Oracle] LEAST()函数

LEAST() 是 Oracle 中一个非常有用的函数,用于从一组表达式中返回最小值

LEAST()函数会从给定的参数列表中返回最小的值,它与GREATEST()函数正好相反

语法格式

sql 复制代码
LEAST(expr1, expr2 [, expr3, ...])

参数说明

expr1, expr2, ...:要比较的表达式(至少需要两个参数),可以是列名、常量、函数或计算表达式

示例

sql 复制代码
-- 数值比较
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()函数的参数可以是任何数据类型(数值、字符、日期等)

③ 所有参数应该可以隐式转换为第一个参数的数据类型

尽量比较相同数据类型的值,保持数据类型一致性,隐式转换可能导致意外结果或错误

相关推荐
Lee川1 小时前
Milvus 实战:当 RAG 遇上向量数据库,从"玩具 Demo"到"生产可用的"那一步
前端·数据库·人工智能
网管NO.13 小时前
SQL 排序分页精讲!ORDER BY+LIMIT 全套用法,报表分页
数据库·sql
MRSM_013 小时前
InfluxDB vs TimescaleDB,谁更适合你的场景
数据库
CAE虚拟与现实4 小时前
Redis如何保证存和读的过程中数据的一致性?
数据库·redis·缓存
我爱cope7 小时前
【Agent智能体4 | 智能体AI的应用】
数据库·人工智能·职场和发展
知识分享小能手8 小时前
Flask入门学习教程,从入门到精通,数据库操作 — 知识点详解与案例代码(4)
数据库·学习·flask
我是一颗柠檬8 小时前
【MySQL全面教学】MySQL基础SQL语句Day3(2026年)
数据库·后端·sql·mysql·oracle
XS0301068 小时前
MyBatis动态SQL
数据库·sql·mybatis