[FOSSGIS-Talk] Leere Arrays in PostgreSQL abfragen
R. Reiterer
r.reiterer at posteo.at
Di Feb 27 14:22:32 CET 2018
Achso, ich habe kein leeres Array, sondern ein Array mit einem einzelnen
Nullwert. Aus dieser Perspektive wird manches klarer.
Schöne Grüße, Reinhard
Am 27.02.2018 13:37 schrieb R. Reiterer:
> Hallo Frank,
>
> danke für deine Antwort. Die {NULL} Werte stammen aus einer räumlichen
> Abfrage mit Geometrien aus einer zweiten Tabelle. Wo die WHERE
> Bedingung nicht erfüllt ist, erhalte ich {NULL}. Ansonsten wird aus
> den Werden der betroffenen Geometrien aus Tabelle 2 ein Array erzeugt.
>
> Dein Lösungsvorschlag erscheint vielversprechend. Ich kann ihn am WE
> testen und melde mich dann nochmal.
>
> Schöne Grüße, Reinhard
>
> Am 27.02.2018 09:44 schrieb Frank Broniewski:
>> Moin,
>>
>> '{NULL}' ist irgendwie komisch, aber egal. Wenn es dir genau nur um
>> '{NULL}' geht, und nicht um irgendeinen NULL Wert im Array, kannst du
>> das folgendermaßen lösen:
>>
>> Folgende Tabelle als Test:
>> CREATE TABLE public.test_empty_array
>> (
>> id integer NOT NULL DEFAULT
>> nextval('test_empty_array_id_seq'::regclass),
>> text character varying[],
>> zahl bigint[],
>> CONSTRAINT pk_test_id PRIMARY KEY (id)
>> )
>>
>> Hier die Werte
>> 1;"{foo,bar,baz}";"{1,2,3,4,5}"
>> 2;"{}";"{}"
>> 3;"{NULL}";"{NULL}"
>>
>> SQL
>> select *, text[1] is null, zahl[1] is null from test_empty_array;
>>
>> Abfrageergebnis
>> 1;"{foo,bar,baz}";"{1,2,3,4,5}";f;f
>> 2;"{}";"{}";t;t
>> 3;"{NULL}";"{NULL}";t;t
>>
>> 'Feld[1] is null' sollte also dein Problem lösen
>>
>> HTH
>> Frank
>>
>> Dipl. Geogr. Frank Broniewski
>> Waldhölzbacher Str. 51
>> 66679 Losheim am See
>> 06872 509 068 4
>> 0176 611 26 9 2 6
>> www.frankbroniewski.com
>>
>> -----Ursprüngliche Nachricht-----
>> Von: FOSSGIS-Talk-Liste [mailto:fossgis-talk-liste-bounces at fossgis.de]
>> Im Auftrag von R. Reiterer
>> Gesendet: Montag, 26. Februar 2018 23:17
>> An: Fossgis talk liste <fossgis-talk-liste at fossgis.de>
>> Betreff: [FOSSGIS-Talk] Leere Arrays in PostgreSQL abfragen
>>
>> Hallo,
>>
>> ich habe in PostgreSQL/PostGIS leere (?) Arrays, welche in der QGIS
>> DB-Verwaltung als {NULL} dargestellt werden.
>>
>> Leider gelingt es mir nicht, diese Datensätze mit {NULL} Arrays
>> abzufragen.
>>
>> Was ich bereits probiert habe:
>>
>> WHERE feld = '{}' -- cannot switch from manual field specification to
>> automatic field numbering WHERE array_length(feld, 1) = 0 WHERE
>> cardinality(feld) = 0
>>
>> array_lenght(feld, 1) und cardinality(feld) geben jeweils '1' für
>> {NULL} Arrays aus.
>>
>> Hat jemand einen Tipp für mich?
>>
>> Schöne Grüße und vielen Dank, Reinhard
>>
>>
>> --
>> ....................................................................
>> FOSSGIS 2018, die Konferenz für Open Source GIS mit OpenData und
>> OpenStreetMap in Bonn!
>> 21.-24. März 2018 an der Universität Bonn
>> https://fossgis-konferenz.de/2018/
>> 18.-25. März OSGeo Code Sprint im BaseCamp Bonn
>> https://wiki.osgeo.org/wiki/OSGeo_Code_Sprint_2018
>>
>> FOSSGIS Veranstaltungen 2018
>> https://www.fossgis.de/node/306
>>
>> FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
>> GIS-Bereich und Freier Geodaten!
>> https://www.fossgis.de/ https://twitter.com/fossgis_eV
>>
>> ____________________________________________________________________
>> FOSSGIS-Talk-Liste mailing list
>> FOSSGIS-Talk-Liste at fossgis.de
>> https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste
> --
> ....................................................................
> FOSSGIS 2018, die Konferenz für Open Source GIS mit OpenData und
> OpenStreetMap in Bonn!
> 21.-24. März 2018 an der Universität Bonn
> https://fossgis-konferenz.de/2018/
> 18.-25. März OSGeo Code Sprint im BaseCamp Bonn
> https://wiki.osgeo.org/wiki/OSGeo_Code_Sprint_2018
>
> FOSSGIS Veranstaltungen 2018
> https://www.fossgis.de/node/306
>
> FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
> GIS-Bereich und Freier Geodaten!
> https://www.fossgis.de/ https://twitter.com/fossgis_eV
>
> ____________________________________________________________________
> FOSSGIS-Talk-Liste mailing list
> FOSSGIS-Talk-Liste at fossgis.de
> https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste
Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste