我有5列带有日期(col1,col2,col3,col4,col5),其中一些是空的或者是空的。我需要从所有这些列中找到一个最小日期。
我使用的是“最小”函数,它的工作很好,但是如果我有一列带有日期,而其他列是空的,“最小”将返回给我空字段!
如何跳过空字段或空列,只返回日期!或者在使用least函数之前,我需要检查每一列是否为空!谢谢!
select id, least(vi_date1, vi_date2,vi_date3,vi_date4,vi_date5) as "Min Date", vi_date1, vi_date2,vi_date3,vi_date4,vi_date5 from table
2条答案
按热度按时间oiopk7p51#
使用
COALESCE
要忽略的函数NULL
价值观更新-包括最小和最大日期-还检查空日期或空日期
js5cn81o2#
就用这个
IF(col <> '', col, '...')
要将空字符串和空字符串转换为大(或小)值,请使用最小(或最大)函数:小提琴