From: | Hubertus von Fuerstenberg <hubertus(dot)fuerstenberg(at)ise(dot)fhg(dot)de> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: Komisches Ergebnis in WHERE .... Denkfehler ? |
Date: | 2010-11-22 14:40:55 |
Message-ID: | 4CEA80F7.1090607@ise.fhg.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
On 11/22/10 3:24 PM, Martin Spott wrote:
> Tach zusammen, ich sitze moeglicherweise einem ganz dummen Denkfehler
> auf, erkenne ihn aber offenbar selbst mit Nachdenken nicht. Eigentlich
> handelt es sich um eine der einfachsten Aufgaben, die so eine Datenbank
> ueberhaupt kennt .... :-/
> Der 'Kandidat' ist eine PostgreSQL/PostGIS-Datenbank. Diese haben
> naturgemaess alle eine Tabelle "geometry_columns", in der diejenigen
> Tabellen gelistet sind, die so eingerichtet sind, dass sie Geodaten
> speichern koennen (das ist etwas vereinfacht, aber dennoch zutreffend).
>
> Ich will mir nun diejenigen Tabellen listen lassen, deren Name mit
> "clc" und anschliessend einem Unterstrich beginnt:
>
> landcover=> \d geometry_columns
> Table "public.geometry_columns"
> Column | Type | Modifiers
> -------------------+------------------------+-----------
> f_table_catalog | character varying(256) | not null
> f_table_schema | character varying(256) | not null
> f_table_name | character varying(256) | not null
> f_geometry_column | character varying(256) | not null
> coord_dimension | integer | not null
> srid | integer | not null
> type | character varying(30) | not null
> Indexes:
> "geometry_columns_pk" PRIMARY KEY, btree (f_table_catalog, f_table_schema, f_table_name, f_geometry_column)
>
> landcover=> SELECT f_table_name FROM geometry_columns WHERE f_table_name LIKE 'clc_%';
> f_table_name
> --------------------------
> clc06_fr_urban
> [...]
>
Moin,
ich hab es selbst nicht ausprobiert, aber das Manual von 9.0 sagt, dass
ein '_' in der LIKE Anweisung auf ein beliebiges Zeichen matcht:
An underscore (_) in pattern stands for (matches) any single character;
a percent sign (%) matches any sequence of zero or more characters. (aus
http://www.postgresql.org/docs/9.0/interactive/functions-matching.html)
d.h. clc0 matcht auf clc_ aus dem LIKE und der Rest kommt vom '%'
HTH,
Hubertus
From | Date | Subject | |
---|---|---|---|
Next Message | Nicolas Barbier | 2010-11-22 14:41:17 | Re: Komisches Ergebnis in WHERE .... Denkfehler ? |
Previous Message | König | 2010-11-22 14:35:20 |