Oracle 数据库中 GREATEST() 函数的作用?
1:GREATEST()
函数用于在给定一组值中返回最大的值。它可以接受两个或多个参数,并在这些参数中找到最大值。
例如,假设你有一个包含三个数值的列,分别是 10、25 和 5,那么使用 GREATEST()
函数将返回最大值 25
此外,GREATEST()
函数还支持比较日期和时间类型的值,可以方便地找出这些值中的最大值。它也可以与其他 SQL 函数和表达式结合使用,以更复杂的方式查找最大值。
总之,GREATEST()
函数非常有用,因为它可以让你很容易地在一组值中找到最大值,而不需要进行繁琐的比较操作。
例子:
SELECT
GREATEST(
NVL(a.模件电裝单人工作耗时,0),
NVL(a.整机电裝单人工作耗时,0),
NVL(a.单机调试单人工作耗时,0),
NVL(a.单板调试单人工作耗时,0),
NVL(a.测发控系统联调单人工作耗时,0) ,
NVL(a.控制系统联调单人工作耗时,0)
) AS 最长工序耗时,
NVL(a.模件电裝单人工作耗时,0) AS 模件电裝单人工作耗时,
NVL(a.整机电裝单人工作耗时,0) AS 整机电裝单人工作耗时,
NVL(a.单机调试单人工作耗时,0) AS 单机调试单人工作耗时,
NVL(a.单板调试单人工作耗时,0) AS 单板调试单人工作耗时,
NVL(a.测发控系统联调单人工作耗时,0) AS 测发控系统联调单人工作耗时,
NVL(a.控制系统联调单人工作耗时,0) AS 控制系统联调单人工作耗时,
NVL(a.数据日期,SYSDATE) AS 数据日期
FROM (SELECT ROW_NUMBER() OVER(PARTITION BY ORG_NO,TO_CHAR(DATA_DATE, 'YYYY')
ORDER BY DATA_DATE DESC, CREATE_TIME DESC) rn,
DECODE(MODEL_ELEC_INSTAL_NUM ,0,0,ROUND(NVL(MODEL_ELEC_INSTAL_TIME,0) / MODEL_ELEC_INSTAL_NUM ) * 100,2 ) AS 模件电裝单人工作耗时,
DECODE(ELEC_INSTAL_NUM ,0,0,ROUND(NVL(ELEC_INSTAL_TIME,0) / ELEC_INSTAL_NUM ) * 100,2 ) AS 整机电裝单人工作耗时,
DECODE(SINGLE_TEST_NUM ,0,0,ROUND(NVL(SINGLE_TEST_TIME,0) / SINGLE_TEST_NUM ) * 100,2 ) AS 单机调试单人工作耗时,
DECODE(BOARD_TEST_NUM ,0,0,ROUND(NVL( BOARD_TEST_TIME,0) / BOARD_TEST_NUM ) * 100,2 ) AS 单板调试单人工作耗时,
DECODE(TEST_CONTROL_SYS_NUM ,0,0,ROUND(NVL(TEST_CONTROL_SYS_TIME,0) / TEST_CONTROL_SYS_NUM ) * 100,2 ) AS 测发控系统联调单人工作耗时,
DECODE(CONTROL_SYS_NUM ,0,0,ROUND(NVL(CONTROL_SYS_TIME,0) / CONTROL_SYS_NUM ) * 100,2 ) AS 控制系统联调单人工作耗时,
DATA_DATE AS 数据日期
FROM BRAIN.DS_PROD_PROC_RECORD
) a
where a.rn = 1
结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix