使用 R 查询 SQL 中的混合大小写列
Querying mixed case columns in SQL with R
我在 my_table
中有一个混合大小写的列,只能在 psql 中使用双引号查询。例如:
select "mixedCase" from my_table limit 5;
将是在 psql
中编写查询的正确方法,并且此 returns 记录成功
但是,我无法在 R 中复制此查询:
我试过以下方法:
dbGetQuery(con, "SELECT '\"mixedCase\"' from my_table limit 5;")
抛出:RS-DBI driver warning: (unrecognized PostgreSQL field type unknown (id:705) in column 0)
dbGetQuery(con, "SELECT 'mixedCase' from my_table limit 5;")
抛出:RS-DBI driver warning: (unrecognized PostgreSQL field type unknown (id:705) in column 0)
dbGetQuery(con, "SELECT "mixedCase" from my_table limit 5;")
抛出 Error: unexpected symbol in "dbGetQuery(con, "SELECT "mixedCase"
RPostgreSQL
包中混合大小写列的解决方案是什么?
您似乎理解了这个问题,但您从未真正尝试过在 R 中使用正确的字面查询。只需转义查询字符串中的双引号,它应该可以工作:
dbGetQuery(con, "SELECT \"mixedCase\" from my_table limit 5;")
您的前两次尝试将失败,因为您将 mixedCase
作为字符串文字而不是列名传递。第三次尝试将在 R 端失败,因为您传递的是损坏的 string/code.
我在 my_table
中有一个混合大小写的列,只能在 psql 中使用双引号查询。例如:
select "mixedCase" from my_table limit 5;
将是在 psql
中编写查询的正确方法,并且此 returns 记录成功
但是,我无法在 R 中复制此查询:
我试过以下方法:
dbGetQuery(con, "SELECT '\"mixedCase\"' from my_table limit 5;")
抛出:RS-DBI driver warning: (unrecognized PostgreSQL field type unknown (id:705) in column 0)
dbGetQuery(con, "SELECT 'mixedCase' from my_table limit 5;")
抛出:RS-DBI driver warning: (unrecognized PostgreSQL field type unknown (id:705) in column 0)
dbGetQuery(con, "SELECT "mixedCase" from my_table limit 5;")
抛出Error: unexpected symbol in "dbGetQuery(con, "SELECT "mixedCase"
RPostgreSQL
包中混合大小写列的解决方案是什么?
您似乎理解了这个问题,但您从未真正尝试过在 R 中使用正确的字面查询。只需转义查询字符串中的双引号,它应该可以工作:
dbGetQuery(con, "SELECT \"mixedCase\" from my_table limit 5;")
您的前两次尝试将失败,因为您将 mixedCase
作为字符串文字而不是列名传递。第三次尝试将在 R 端失败,因为您传递的是损坏的 string/code.