Vorwort: Ich verwende OSM2PGSQL, um meine OpenStreetMap (OSM) -Daten in PostgresSQL zu importieren. Dadurch werden alle Tags importiert, die den einzelnen Elementen in den Daten zugeordnet sind. Eines davon ist das "Natural" -Tag. Dieses Tag definiert, um welches Terrain es sich handelt. (IE, natürlich = Wasser bedeutet, dass diese Koordinate eine Wasserfläche definiert).PostgresSQL: Verwenden von Klauselwörtern als Spaltennamen
Ich versuche, die Spalte als „natürlich“ bezeichnet zuzugreifen, wie in der Abfrage
SELECT * FROM planet_osm_polygon WHERE natural='water' LIMIT 100;
Da jedoch NATURAL auch eine PostgresSQL Klausel ist, die Abfrage einen Fehler zurückgibt.
Wäre es möglich, dieses Problem zu umgehen? Ich habe versucht, das Wort natürlich in Anführungszeichen zu schreiben, ohne Erfolg.
Haben Sie doppelte Anführungszeichen versucht? "natural" = "water" – Trent
Dies wird im Handbuch ausführlich erklärt: http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS –