【发布时间】:2020-01-10 14:56:19
【问题描述】:
我正在学习 SQL,并且想知道如何在字段名称中使用单引号和双引号。
SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE year_rank <= 10
AND "group" LIKE '%Ludacris%'
为什么删除 group 上的双引号不起作用,但它接受带有或不带有引号的 year?
【问题讨论】:
-
哪个数据库?我知道 PostgreSQL 以不同的方式对待带引号和不带引号的标识符,例如:不带引号的映射到小写,而带引号的保留大小写并且区分大小写。 (如果您在创建表时声明了一个带引号的列,那么您必须继续为其使用引号。)但是这看起来不是您的问题。
-
我正在通过一个名为 MODE 的网站学习 SQL。不知道它在哪种 SQL 上运行...
-
group是保留字,因此如果用作标识符,则必须用引号引起来。year_Whatever不是,因为year是更大标识符的一部分,所以碰巧有一个名为year的保留字并不重要。 -
@Rup:这几乎是 SQL 标准所定义的,只是 SQL 标准要求将不带引号的标识符折叠为小写
-
@a_horse_with_no_name 哦,好的,谢谢。我只在使用其他人的 PostgreSQL 代码时遇到过这种情况。
标签: sql quoted-identifier