Voici un extrait de mon tableau:
gid | datepose | pvc
---------+----------------+------------
1 | 1961 | 01
2 | 1949 |
3 | 1990 | 02
1 | 1981 |
1 | | 03
1 | |
Je veux remplir la colonne PVC en utilisant un SELECT CASE
comme ci-dessous:
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 ;
Le résultat est le même contenu que la table source, rien ne s'est passé et je n'obtiens aucun message d'erreur dans les fichiers pg_log. Cela peut être une erreur de syntaxe ou un problème d'utilisation de plusieurs conditions dans les clauses WHEN?
Merci pour l'aide et les conseils!
postgresql
case
wiltomap
la source
la source
NULL
par exempleRéponses:
Ce type de code devrait peut-être fonctionner pour vous
la source
ELSE '00'
parELSE pvc
pour que je puisse garder les valeurs existantes dans lapvc
colonne, sinon elles sont rayées avec «00» (caspvc IS NOT NULL
). Merci beaucoup!