我正在尝试在psql DB上执行选择查询。 但我的专栏名称是“Tagnaam”,因此区分大小写。
我正在尝试此查询:
cur.execute("SELECT Tagnaam FROM opc_taginstellingen")
我读过解决方案是在列名上使用双引号,但这不能解决它。
我也尝试过:
cur.execute("SELECT "Tagnaam" FROM opc_taginstellingen")
cur.execute("SELECT ""Tagnaam"" FROM opc_taginstellingen")
cur.execute("SELECT '"Tagnaam"' FROM opc_taginstellingen")
以上都没有。
它给出的错误:
cur.execute("SELECT Tagnaam FROM opc_taginstellingen")
psycopg2.ProgrammingError: column "tagnaam" does not exist
LINE 1: SELECT Tagnaam FROM opc_taginstellingen
^
我该如何解决这个问题?
提前致谢。
答案 0 :(得分:1)
在查询周围使用"Tagnaam"
和单引号(' '
)应该有效:
cur.execute('SELECT "Tagnaam" FROM opc_taginstellingen')
答案 1 :(得分:0)
Postgresql和所有数据库(Oracle,Db2 ...)通常以不区分大小写的方式处理列名,因此无论您如何在查询中编写字段名称,都应如此。 首先尝试psql客户端中的所有内容。如果它工作,你可以将它添加到python代码,但要小心,如果你在字符串中使用“”,你应该写像'string with“quotedString”inside“字符串。单引号和双引号的情况交换也可能发生。