这是我的桌子的一部分:
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 2015年
NULL
例如,包含例如