0

我正在尝试使用 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

提前致谢

4

2 回答 2

1

in 的默认值pastesep=' '(空格),但您可能想要sep=''(空字符串)。在最近的 R 中,您可以paste0改用。

于 2012-01-14T20:36:11.620 回答
0

您可以通过在命令行(不在 R 中)执行此操作来获得 gsubfn 并解决此问题:

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 版本

于 2013-12-08T18:40:51.720 回答