maR*_*tin 6 sql postgresql r dynamic-sql
我正在尝试使用 R 和 postgres 包连接到我的数据库的一些动态 SQL 查询。
不幸的是,如果执行以下语句,我会得到一个空数据框:
x <- "Mean"
query1 <- dbGetQuery(con, statement = paste(
"SELECT *",
"FROM name",
"WHERE statistic = '",x,"'"))
Run Code Online (Sandbox Code Playgroud)
我相信最后一行有语法错误。我已经以各种可能的方式更改了逗号和引号,但似乎没有任何效果。有谁知道如何使用 R 变量通过动态 WHERE 语句构造此 SQL 查询?
尝试这个:
require(stringi)
stri_paste("SELECT * ",
"FROM name ",
"WHERE statistic = '",x,"'",collapse="")
## [1] "SELECT * FROM name WHERE statistic = 'Mean'"
Run Code Online (Sandbox Code Playgroud)
或使用连接运算符%+%
"SELECT * FROM name WHERE statistic ='" %+% x %+% "'"
## [1] "SELECT * FROM name WHERE statistic ='mean'"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6052 次 |
| 最近记录: |