when example estructura ejemplos dentro consulta postgresql case

example - PostgreSQL CASE... END con mĂșltiples condiciones



plpgsql case example (1)

Este tipo de código quizás debería funcionar para usted

SELECT *, CASE WHEN (pvc IS NULL OR pvc = '''') AND (datepose < 1980) THEN ''01'' WHEN (pvc IS NULL OR pvc = '''') AND (datepose >= 1980) THEN ''02'' WHEN (pvc IS NULL OR pvc = '''') AND (datepose IS NULL OR datepose = 0) THEN ''03'' ELSE ''00'' END AS modifiedpvc FROM my_table; gid | datepose | pvc | modifiedpvc -----+----------+-----+------------- 1 | 1961 | 01 | 00 2 | 1949 | | 01 3 | 1990 | 02 | 00 1 | 1981 | | 02 1 | | 03 | 00 1 | | | 03 (6 rows)

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 un 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 fuente, no ha pasado nada y no recibo ningún mensaje de error en los archivos pg_log. Puede ser un error de sintaxis o un problema con el uso de múltiples condiciones dentro de las cláusulas WHEN?

Gracias por la ayuda y consejos!