psql列不存在,但确实存在

时间:2018-10-05 00:49:52

标签: sql postgresql

我正在尝试从psql命令行使用postgresql数据库中的原始SQL在数据表中选择单个列。我收到一条错误消息,指出该列不存在。然后它给了我一个提示,即可以使用在select语句中引用的确切列。这是查询:

SELECT insider_app_ownershipdocument.transactionDate FROM insider_app_ownershipdocument;

这是错误消息:

ERROR:  column insider_app_ownershipdocument.transactiondate does not exist
SELECT insider_app_ownershipdocument.transactionDate FROM in...
HINT:  Perhaps you meant to reference the column "insider_app_ownershipdocument.transactionDate".

我不知道为什么这不起作用。

1 个答案:

答案 0 :(得分:3)

(Postgres)SQL尽管支持区分大小写的名称,但它会自动将名称转换为小写。所以

SELECT insider_app_ownershipdocument.transactionDate FROM insider_app_ownershipdocument;

将等同于:

SELECT insider_app_ownershipdocument.transactiondate FROM insider_app_ownershipdocument;

您应使用双引号保护列名,以避免这种影响:

SELECT insider_app_ownershipdocument."transactionDate" FROM insider_app_ownershipdocument;