4

我在表中有三个日期,对于每条记录,我需要找出最多三列,如果该列为空,则需要忽略以防万一,你能帮忙吗?

我正在使用 oracle 10g 版本。

Table-1
---------
SL NO date1 date2 date3 age
4

3 回答 3

4

由于如果您传递的任何值是GREATEST将返回,因此您需要和的组合:NULLNULLGREATESTCOALESCE

SELECT GREATEST(
    COALESCE(date1, date2, date3)
,   COALESCE(date2, date1, date3)
,   COALESCE(date3, date1, date2)
)
FROM my_test_table
于 2013-11-11T18:27:03.420 回答
1

您可以使用该GREATEST函数,它返回给定 n 个参数中的最大值:

SELECT GREATEST(date1, date2, date3)
FROM   table1
于 2013-11-11T18:23:05.500 回答
0

如果我对您的理解正确(您的帖子不是很清楚),您可以使用该GREATEST功能:

sslect
...,
GREATEST (date1,date2,date3)
from...
于 2013-11-11T18:23:24.213 回答