2

私はpostgresが初めてです。

以下のようなフィールド(タイトル)があります:

Title      Date1        Date2        Date3        Date4        Date5   Date6

Vaccine1   01/08/1980   01/08/1981   01/08/1982   01/08/1983   Null    Null

仕事で、最初の null 値を見つける必要がある状況があります。上記の場合、タイトルに基づいて Date5 である必要があります。他にも確認しておきたい条件があります。しかし、これは私の主なケースです。

私は以下のように何かをしようとしています:

case
when title ='AAA'
and
??

私はそこに立ち往生しています。

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

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

whena の scaseはリストされた順序でチェックされ、最初に一致したところで実行が停止することに注意してください。whenしたがって、この構造体は最初の非 NULL 列を示します (もちろん、whens が正しい順序であると仮定します)。

于 2013-10-28T02:51:24.577 に答える