とENDは私のテーブルの抽出物である:PostgreSQLのCASE ...ここでは複数の条件
gid | datepose | pvc
---------+----------------+------------
1 | 1961 | 01
2 | 1949 |
3 | 1990 | 02
1 | 1981 |
1 | | 03
1 | |
私は怒鳴るようSELECT CASE
を使用してPVC列を記入します:
SELECT
gid,
CASE
WHEN (pvc IS NULL OR pvc = '') AND datpose < 1980) THEN '01'
WHEN (pvc IS NULL OR pvc = '') AND datpose >= 1980) THEN '02'
WHEN (pvc IS NULL OR pvc = '') AND (datpose IS NULL OR datpose = 0) THEN '03'
END AS pvc
FROM my_table ;
結果はソーステーブルと同じ内容ですが、何も起こらず、pg_logファイルにエラーメッセージが表示されません。構文エラー、またはWHEN句内で複数の条件を使用する際の問題かもしれません。
ありがとうございました!
にあなたのために働く必要があります(ので、我々はNULLと空の文字列との違いを見ることができますか)? inと同様に、NULLを含む文字列 – Paco
また、かっこでも問題があります。なぜ1980年以降に締め金があるのですか? (両方の場所で) – Paco