使用 R 中的 sqlQuery 处理 SQL select 语句中的双引号
Posted
技术标签:
【中文标题】使用 R 中的 sqlQuery 处理 SQL select 语句中的双引号【英文标题】:Dealing with double quotes in SQL select statement with sqlQuery in R 【发布时间】:2018-12-03 17:34:10 【问题描述】:我正在使用 R 中的 sqlQuery 函数向我的 ODBC 数据库 (Netezza) 发送查询。
在我的 SQL 查询中,我有部分需要为特定数据类型定义子字符串,例如
("NUMERIC"(SERVER.ADMIN.V_D_DATE.CAL_YR_MNTH_ID) <= TO_NUMBER(TO_CHAR("TIMESTAMP"(DATE('now(0)'::"VARCHAR")), 'YYYYMM'::"VARCHAR"), '999999'::"VARCHAR"))
我尝试将双引号更改为单引号并直接在 Netezza 中运行代码,但它不喜欢这样。
在 R 中使用 sqlQuery 函数时,有没有办法在 select 语句中继续使用双引号?
【问题讨论】:
【参考方案1】:你需要转义引号:
DBI::SQL("\"EXAMPLE\"")
#> <SQL> "EXAMPLE"
【讨论】:
只是为了确保我做对了,上面的代码应该如下所示: ("\"NUMERIC\""(SERVER.ADMIN.V_D_DATE.CAL_YR_MNTH_ID) 这看起来不正确,您只需在要转义的每个引号前放一个反斜杠:DBI::SQL("(\"NUMERIC\"(SERVER.ADMIN.V_D_DATE.CAL_YR_MNTH_ID) <= TO_NUMBER(TO_CHAR(\"TIMESTAMP\"(DATE('now(0)'::\"VARCHAR\")), 'YYYYMM'::\"VARCHAR\"), '999999'::\"VARCHAR\"))")
感谢 DiceboyT,我环顾四周寻找更多细节,当我遇到这个例子时,一分钱掉了下来:***.com/questions/14960126/…以上是关于使用 R 中的 sqlQuery 处理 SQL select 语句中的双引号的主要内容,如果未能解决你的问题,请参考以下文章
r shiny sqlquery - 从 sql 查询结果中填充复选框
使用 rodbc 包从 R 查询 sql server。需要将日期/时间值作为 where 语句的一部分传递到 sqlQuery