我在表中有三个日期,对于每条记录,我需要找出最多三列,如果该列为空,则需要忽略以防万一,你能帮忙吗?
我正在使用 oracle 10g 版本。
Table-1
---------
SL NO date1 date2 date3 age
由于如果您传递的任何值是GREATEST
将返回,因此您需要和的组合:NULL
NULL
GREATEST
COALESCE
SELECT GREATEST(
COALESCE(date1, date2, date3)
, COALESCE(date2, date1, date3)
, COALESCE(date3, date1, date2)
)
FROM my_test_table
您可以使用该GREATEST
函数,它返回给定 n 个参数中的最大值:
SELECT GREATEST(date1, date2, date3)
FROM table1
如果我对您的理解正确(您的帖子不是很清楚),您可以使用该GREATEST
功能:
sslect
...,
GREATEST (date1,date2,date3)
from...