0

我正在学习 SQL,并且想知道在字段名称中使用单引号和双引号。

SELECT *
  FROM tutorial.billboard_top_100_year_end
 WHERE year_rank <= 10
   AND "group" LIKE '%Ludacris%'  

为什么删除双引号group不起作用,但它接受year或不接受引号?

4

1 回答 1

3

group是保留键,因此不能用作常规标识符。

包含非法字符(例如空格)或保留关键字的标识符必须用双引号引起来。例如,参见Postgres 手册中的解释

在 SQL 标准中,它们被称为“分隔标识符”,但术语“带引号的标识符”也很常见。

单引号仅用于 SQL 中的字符串值(尽管某些 DBMS 产品也允许对字符串使用双引号,对标识符使用单引号,这是非标准 SQL)

请注意,根据 SQL 标准,带引号的标识符区分大小写,因此"Group""GROUP"是两个不同的名称(同样,一些 DBMS 产品也忽略了这一点)。

于 2020-01-10T15:01:12.273 回答