これが私のテーブルの抜粋です:
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句内の複数の条件の使用に関する問題ですか?
ヘルプとアドバイスをありがとう!
角かっこにも問題があります。なぜ1980年以降に閉じ括弧があるのですか?(両方の場所)
—
Paco
NULL
たとえば、次を含む文字列