2016-03-22 12 views
0

Önsöz: OpenStreetMap (OSM) verilerimi PostgresSQL içine almak için OSM2PGSQL kullanıyorum. Bu, verilerdeki her bir öğe ile ilişkili tüm etiketleri içe aktarır; bunlardan biri "doğal" etikettir. Bu etiket, bu alanın ne tür bir arazi olduğunu tanımlar. (IE, doğal = su, bu koordinatın bir su alanını tanımladığı anlamına gelir). PostgresSQL: Sütun adları olarak yan tümce sözcüklerini kullanma

Ben DOĞAL de PostgreSQL hüküm olduğu için, sorgu hata verir, böyle sorguya Ancak

SELECT * FROM planet_osm_polygon WHERE natural='water' LIMIT 100; 

olduğu gibi "doğal" olarak belirtilen sütun erişmeye çalışıyorum.

Bu soruna geçici bir çözüm bulmak mümkün mü? Doğal kelimeyi tırnak işareti ile sarmalamaya çalıştım, boşuna.

+1

Çift tırnak kullanmayı denediniz mi? "doğal" = "su" – Trent

+0

Bu kılavuzda ayrıntılı olarak açıklanmıştır: http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS –

cevap

1

Çift tırnak çalışması gerekir. İşte ben hızlı bir örnek doğrulamak için kullanılan

# create table test123("natural" text); 
CREATE TABLE 
# insert into test123 values('test'); 
INSERT 0 1 
# insert into test123 values('water'); 
INSERT 0 1 
# select * from test123 where "natural"='water'; 
natural 
--------- 
water 
(1 row) 
+1

Ah, tek tırnaklı ve çift tırnaktan korkuyor, şimdi aptalca görünmüyorum. –