postgresql | sql语句表名和列名引号问题

发布时间 2023-07-31 14:20:38作者: 槑孒

根据您提供的 SQL 查询语句:

SELECT * FROM "features" WHERE "layer"="FSHFAC" LIMIT 10;

在语法上看起来没有问题,但在实际运行时可能会出现一些问题,这取决于数据库和数据表的结构。

  1. 表名和列名引号:在 SQL 中,使用双引号 " " 可以将标识符(例如表名、列名等)加以引号。但是,要确保引号中的标识符与数据库和数据表中实际的名称一致,包括大小写。如果数据库或数据表的名称中没有使用双引号引起来,那么查询语句中的引号可能会导致错误。

  2. 数据类型问题:在比较字符串时,通常要使用单引号 ' ',而不是双引号。例如,如果 "layer" 列是一个字符串类型的列,应该将查询语句中的双引号改为单引号,如下所示:

SELECT * FROM "features" WHERE "layer"='FSHFAC' LIMIT 10;

请确保在查询语句中使用正确的引号,并且表名和列名与数据库中的实际名称匹配。如果有任何数据类型不匹配或其他错误,查询可能会失败或返回不正确的结果。