小编典典

PostgreSQL列名称区分大小写吗?

sql

persons在另一个列名称为的团队的Postgres中有一个db表说"first_Name"。现在,我试图使用PG指令在此列名上查询该表。

select * from persons where first_Name="xyz";

它只是返回

错误:列“ first_Name”不存在

不知道我是在做傻事还是对我遗失的问题有解决方法?


阅读 139

收藏
2021-05-05

共1个答案

小编典典

所有未加双引号的 标识符
(包括列名)在PostgreSQL中被折叠为小写。用双引号创建的列名并因此保留了大写字母(和/或其他语法违规),必须在余下的时间将双引号引起来:("first_Name"

因此, 是的 ,PostgreSQL列名称区分大小写:

SELECT * FROM persons WHERE "first_Name" = 'xyz';

还要解决周围不正确的双引号'xyz' (字符串文字)用 单引号引起来

在此处阅读手册。

我的长期建议是仅使用合法的小写名称,因此不需要双引号。

2021-05-05