【发布时间】:2013-11-12 03:15:03
【问题描述】:
我在表中有三个日期,对于每条记录,我需要找出最多三列,如果该列为空,则需要忽略以防万一,您能帮忙吗?
我使用的是 oracle 10g 版本。
Table-1
---------
SL NO date1 date2 date3 age
【问题讨论】:
我在表中有三个日期,对于每条记录,我需要找出最多三列,如果该列为空,则需要忽略以防万一,您能帮忙吗?
我使用的是 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...
【讨论】: