Aquí hay un extracto de mi tabla:
gid | datepose | pvc
---------+----------------+------------
1 | 1961 | 01
2 | 1949 |
3 | 1990 | 02
1 | 1981 |
1 | | 03
1 | |
Quiero llenar la columna de PVC usando SELECT CASE
como se muestra a continuación:
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 ;
El resultado es el mismo contenido que la tabla de origen, no ha sucedido nada y no recibo ningún mensaje de error en los archivos pg_log. ¿Podría ser un error de sintaxis o un problema con el uso de múltiples condiciones dentro de las cláusulas WHEN?
¡Gracias por tu ayuda y consejo!
NULL
por ejemplo