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