FOSSGIS-Talk-Liste Nachrichtensammlung, Band 148, Eintrag 1
Eckhard Schmidt
eckhard.schmidt at aol.de
Sa Mai 1 16:55:33 CEST 2021
Hallo Bernd,
vielen Dank. - Ich habe es noch nicht ausprobiert, aber mir fällt Folgendes auf: fehlt hier....
if length( trim("Feld1") ) > 0, "Feld1" , "Feld2")
...nicht eine Klammer? (1 x 'Klammer auf'?). Wenn ja, wo müsste sie stehen? (oder bin ich auf dem Holzweg?)
Trotzdem vielen Dank und Gruß,Eckhard
********************************************
-----Ursprüngliche Mitteilung-----
Von: fossgis-talk-liste-request at fossgis.de
An: fossgis-talk-liste at fossgis.de
Verschickt: Sa, 1. Mai 2021 12:00
Betreff: FOSSGIS-Talk-Liste Nachrichtensammlung, Band 148, Eintrag 1
[...]
Message: 2
Date: Fri, 30 Apr 2021 15:36:31 +0200
From: Bernd Marcus <bmarcus at giswana.de>
To: fossgis-talk-liste at fossgis.de
Subject: [FOSSGIS-Talk] Übertragung zwischen Feldern; Umlaute
Message-ID: <19758190.efTT2urkXq at linux-9mbc>
Content-Type: text/plain; charset="iso-8859-1"
Hallo Eckhard,
etwas kürzer als der Ausdruck, den Claas dir vorgeschlagen hat:
coalesce("Feld2", "Feld1")
Übersetzt bedeutet dies: wenn "Feld2" einen Wert aufweist, wird der
Wert von "Feld2" genommen; weist "Feld2" jedoch NULL auf, wird auf
"Feld1" zurückgegriffen.
Wichtig: dies funktioniert nur, wenn das 'leer' deiner Anfrage mit
NULL gleichzusetzen ist.
Handelt es sich um Text-Spalten, so solltest du, wie von Claas
vorgeschlagen, eine Bedingung nutzen. Ob CASE oder IF ist reine
Geschmackssache:
if length( trim("Feld1") ) > 0, "Feld1" , "Feld2")
Erklärung: wenn die Länge des um Leerzeichen bereinigten "Feld1"
größer 0, dann Wert von "Feld1" sonst Wert von "Feld2".
Der TRIM Befehl besitzt den Vorteil, dass man sich keinen Kopf drum
machen muss, ob ein leer erscheinendes Textfeld nicht evtl. doch ein
oder mehrere Leerzeichen aufweist.
Der IF Ausdruck funktioniert natürlich auch bei NULL Werten, denn
NIx gibt Nix zurück, also NULL und somit wird die Bedingung von der
Länge größer 0 nicht erfüllt.
Euch eine gute Zeit
Bernd Marcus
__________________________________
GISwana - Datentektonik
Am Steneberg 10 | D-37133 Friedland
T: +49 (0)5504 949 844 7
M: +49 (0)176 816 991 64
@: bmarcus at giswana.de
U: https://www.giswana.de/
Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste