代码之家  ›  专栏  ›  技术社区  ›  the_darkside

用R查询SQL中的混合大小写列

  •  0
  • the_darkside  · 技术社区  · 8 年前

    我有一个混合病例专栏 my_table 在psql中只能使用双引号来查询例如:

    select "mixedCase" from my_table limit 5; 将查询写入 psql ,这将成功返回记录

    但是,我无法在R中复制此查询:

    我试过以下方法:

    1. dbGetQuery(con, "SELECT '\"mixedCase\"' from my_table limit 5;")

    它抛出: RS-DBI driver warning: (unrecognized PostgreSQL field type unknown (id:705) in column 0)

    1. dbGetQuery(con, "SELECT 'mixedCase' from my_table limit 5;")

    它抛出: RS-DBI驱动程序警告:(列0中无法识别的PostgreSQL字段类型未知(id:705)

    1. dbGetQuery(con, "SELECT "mixedCase" from my_table limit 5;") 它抛出 Error: unexpected symbol in "dbGetQuery(con, "SELECT "mixedCase"

    对于带有 RPostgreSQL 包裹?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Tim Biegeleisen    8 年前

    您似乎理解这个问题,但实际上从未尝试过在R中使用正确的文本查询。只要转义查询字符串中的双引号,它就应该可以工作:

    dbGetQuery(con, "SELECT \"mixedCase\" from my_table limit 5;")
    

    你的前两次尝试都会失败,因为你正在通过 mixedCase 作为字符串文字,而不是列名第三次尝试在R端失败,因为您传递的是一个断开的字符串/代码。