在postgresql中选择其名称带引号的列

时间:2014-05-29 12:40:48

标签: sql postgresql identifier quoting

单词 end 是Postgres中的保留字,因此我的数据库中有一个名为" end" 的列。那么如何执行查询来选择该列呢?查询:

"SELECT column1, column2, column3, "end" FROM table";

不起作用。我也试过一些带有反斜杠的组合,但没有任何帮助。我知道有很多其他方法可以解决这个问题(重命名专栏:))但我想学习如何在我的场合找到解决方案。

1 个答案:

答案 0 :(得分:0)

查询字符串是

SELECT column1, column2, column3, "end" FROM table

在查询周围附上引号。

在客户端中准备此字符串是客户端语言的问题。在 PHP 中,你可以简单地使用单引号,这在这里是更好的选择,因为不需要在字符串中解释任何内容:

'SELECT column1, column2, column3, "end" FROM table'

如果您需要双引号来解释字符串的某些部分,您可以连接字符串的各个部分或在...内转义双引号。

如果您不打算使用reserved words作为标识符,那么一切都会变得更简单。