Postgres如何引用带有减号的表名

3

我想知道是否有一种语法可以引用一个带有减号的表名。例如,我使用shp2psql导入了一个名为v-water-a的表,然后执行了以下操作:

select * from v-water-a limit 1;

我遇到了一个错误:

ERROR:  syntax error at or near "-"
LINE 1: select * from v-water-a limit 1;

如果表名为v_water_a,则相同的查询将有效。此外,在pgadmin3中可见表名v-water-a。我尝试用单引号引用名称,但没有成功。

我应该以某种方式引用表名吗?或者这个名字是不合法的?
这是在Ubuntu 14.04下使用PostgreSQL 9.3.5。


1
使用双引号:select * from "v-water-a" limit 1;。有关有效标识符等信息,请参阅文档:http://www.postgresql.org/docs/9.2/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS - jpw
1
这些都在手册中有详细记录。请阅读jpw提供的链接。 - user330315
1
@TingL 是的,ANSI标准的方法是使用双引号。这个页面提供了有关各种dbms中使用的不同选项的信息:https://en.wikibooks.org/wiki/SQL_Dialects_Reference/Data_structure_definition/Delimited_identifiers - jpw
谢谢,知道了很好。 - thor
可能是PostgreSQL中连字符(-)的转义序列是什么的重复问题。 - Patsy Issa
显示剩余2条评论
1个回答

9

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接