我正在尝试使用RMySQL运行MySQL查询,其中包含LIKE
和查询中的自定义变量。
以下是我的查询示例
customvar= 'some text'
(simpleQuery<-paste("SELECT * FROM `table` WHERE NameOfField like '%",customvar,"%'"))
res<-dbGetQuery(con, simpleQuery)
问题在于,由于某种原因,simpleQuery会像这样解释查询
[1] "SELECT * FROM `table` WHERE NameOfField '% some text %'"
请注意some text
之前和之后的空格会阻止我的查询获得正确的结果
我不知道为什么要生成这些空格。我在没有这些空格的情况下测试了我的查询,它确实给出了结果,所以我确信那些空格使我的查询失败。
对这个问题有什么看法?
版本: R 2.14.0 / RMySQL 0.8
提前致谢
答案 0 :(得分:1)
paste
中的默认值为sep=' '
(空格),但您可能打算sep=''
(空字符串)。在最近的R中,您可以使用paste0
代替。
答案 1 :(得分:0)
你得到gsubfn并通过在命令行(而不是R)中执行此操作来解决此问题:
wget http://cran.r-project.org/src/contrib/Archive/gsubfn/gsubfn_0.5-7.tar.gz
rm gsubfn_0.6-3.tar.gz
这将安装与2.14
兼容的gsubfn版本