我正在学习 SQL,并且想知道在字段名称中使用单引号和双引号。
SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE year_rank <= 10
AND "group" LIKE '%Ludacris%'
为什么删除双引号group
不起作用,但它接受year
或不接受引号?
我正在学习 SQL,并且想知道在字段名称中使用单引号和双引号。
SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE year_rank <= 10
AND "group" LIKE '%Ludacris%'
为什么删除双引号group
不起作用,但它接受year
或不接受引号?
group
是保留键,因此不能用作常规标识符。
包含非法字符(例如空格)或保留关键字的标识符必须用双引号引起来。例如,参见Postgres 手册中的解释
在 SQL 标准中,它们被称为“分隔标识符”,但术语“带引号的标识符”也很常见。
单引号仅用于 SQL 中的字符串值(尽管某些 DBMS 产品也允许对字符串使用双引号,对标识符使用单引号,这是非标准 SQL)
请注意,根据 SQL 标准,带引号的标识符区分大小写,因此"Group"
和"GROUP"
是两个不同的名称(同样,一些 DBMS 产品也忽略了这一点)。