質問
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
前もって感謝します
解決
デフォルト paste
は sep=' '
(スペース)、しかしあなたはおそらく意図した sep=''
(空の文字列)。最近のRでは、使用できます paste0
代わりは。
他のヒント
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のバージョンがインストールされます
所属していません StackOverflow