Hier ist ein Auszug aus meiner Tabelle:
gid | datepose | pvc
---------+----------------+------------
1 | 1961 | 01
2 | 1949 |
3 | 1990 | 02
1 | 1981 |
1 | | 03
1 | |
Ich möchte die PVC-Säule mit einem folgenden SELECT CASE
Balken füllen :
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 ;
Das Ergebnis ist der gleiche Inhalt wie in der Quelltabelle, es ist nichts passiert und ich erhalte keine Fehlermeldung in den pg_log-Dateien. Möglicherweise handelt es sich um einen Syntaxfehler oder um ein Problem bei der Verwendung mehrerer Bedingungen in WHEN-Klauseln.
Vielen Dank für Hilfe und Rat!
postgresql
case
wiltomap
quelle
quelle
NULL
zum Beispiel enthältAntworten:
Diese Art von Code sollte vielleicht für Sie funktionieren
quelle
ELSE '00'
mit ,ELSE pvc
damit ich die vorhandenen Werte in haltenpvc
Spalt, da sie sich mit ‚00‘ (Fall verkratztpvc IS NOT NULL
). Vielen Dank!