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
结果: