SQLserver GREATEST 函数
·
有时候我们需要从多个值中快速找出最大值,GREATEST 函数会可以帮我们实现。它的作用很直接:接收多个参数,返回其中的最大值。
基本用法
语法非常简单:
GREATEST(表达式1, 表达式2, ..., 表达式N)
参数可以是常量、列名或计算表达式,只要它们的数据类型兼容(比如都是数字、都是日期,或可隐式转换为同一类型)。
举几个例子
- 比较数字:
SELECT GREATEST(15, 8, 22, 5); -- 结果:22
- 比较日期(适用于日期时间类型):
SELECT GREATEST('2023-01-15', '2024-03-20', GETDATE()); -- 返回最新的日期
-
结合列使用:假设有一张
product表,包含price1、price2、price3三列,想找出每一行的最高价格:
--测试数据
if not object_id(N'Tempdb..#product') is null
drop table #product
Go
Create table #product([price1] int,[price2] int,[price3] int)
Insert #product
select 1,2,3 union all
select 4,5,6
Go
--测试数据结束
Select GREATEST(price1, price2, price3) from #product

注意事项
- 版本限制:
GREATEST是 SQL Server 2022 及以上版本才支持的函数,低版本无法使用(可以用CASE表达式替代)。 - 类型兼容:如果参数类型不兼容(比如混合数字和字符串),会报错,需提前做好类型转换。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)