我正在运行一个简单的选择查询:
SELECT return_part_i.CntrctTrmntnInd FROM return_part_i LIMIT 10;
并出现以下错误:
错误:列return_part_i.cntrcttrmntnind不存在第1行: SELECT return_part_i.CntrctTrmntnInd FROM return_part_i LIMI ... ^提示:也许您打算引用列“ return_part_i.CntrctTrmntnInd”。 SQL状态:42703字符:8
我尝试了带有和不带有表标识符的查询。我直接从提示中复制字段名称。数据库中的许多字段都在发生这种情况。
答案 0 :(得分:3)
如果列名中确实包含驼峰式大写字母,则必须在列名中用双引号引起来
SELECT "CntrctTrmntnInd" FROM return_part_i LIMIT 10;
PostgreSQL列(对象)名称用双引号指定时区分大小写。未加引号的标识符会自动用作小写字母,因此正确的大小写序列必须用双引号引起来
并且如雷蒙德·尼兰(Raymond Nijland)所正确建议的那样,如果您想以LIMIT作为结果,则应使用
SELECT "CntrctTrmntnInd" FROM return_part_i ORDER BY "CntrctTrmntnInd" LIMIT 10;