我是postgres的新手。
我有字段(标题)如下:
Title Date1 Date2 Date3 Date4 Date5 Date6
Vaccine1 01/08/1980 01/08/1981 01/08/1982 01/08/1983 Null Null
我有工作的情况,我需要找出第一个空值。在上面的例子中,它应该是基于标题的Date5。 我还有其他一些需要检查的条件。但这将是我的主要案例。
我正在尝试做以下事情:
case
when title ='AAA'
and
??
我被困在那里。
感谢任何帮助。感谢。
答案 0 :(得分:2)
如果您想知道哪个列具有第一个NULL,那么您可以执行以下操作:
case when date1 is null then 'date1'
when date2 is null then 'date2'
when date3 is null then 'date3'
when date4 is null then 'date4'
when date5 is null then 'date5'
when date6 is null then 'date6'
else null
end
演示:http://sqlfiddle.com/#!1/6fd74/1
请注意,when
中的case
按列出的顺序进行检查,执行在第一个匹配的when
处停止,因此此结构将告诉您第一个非NULL列(当然假设when
s的顺序正确。)