不支持表/列名称中的方括号?

时间:2016-06-22 10:38:33

标签: sql postgresql

postgresql中不支持表名,列名或数据类型的方括号吗?

我在pgadmin中运行查询时遇到错误:

CREATE TABLE [Test];

ERROR: syntax error at or near "["

SQL状态:42601

3 个答案:

答案 0 :(得分:4)

在PostgreSQL中,您可以使用双引号:

CREATE TABLE "Test";

对于列,在SQL-Server中使用方括号。

答案 1 :(得分:2)

如果你的意思是表名是包括括号的[Test]那么你会使用" [Test]"。

Create table "[Test]" ...;

如果您将其视为标识符,则可以简单地使用不带括号或双引号作为Test。

Create table Test ...;

这样,您可以将其称为Test或test或tESt,在后续查询中不带双引号,即:

select * from test;

如果您使用"测试"那么postgreSQL会把它视为区分大小写,你总是会使用"测试"。

Create table "Test" ...;

答案 2 :(得分:1)

如果您尝试使用方括号来强调标识符名称,则sagi's answer是正确的。另一方面,如果你真的想在表名中使用方括号,postgresql支持“[Test]”。在这种情况下,您的表名将包括方括号。您可以从postgresql documentation

获取更多信息