Rmysql aggiungendo spazi alla query rendendolo fallito
Domanda
Sto cercando di eseguire una query MySQL usando RMYSQL che include un LIKE
e una variabile personalizzata all'interno della query.
Ecco un esempio della mia domanda
customvar= 'some text'
(simpleQuery<-paste("SELECT * FROM `table` WHERE NameOfField like '%",customvar,"%'"))
res<-dbGetQuery(con, simpleQuery)
Il fatto è che per qualche motivo il simplequery interpreta la query in questo modo
[1] "SELECT * FROM `table` WHERE NameOfField '% some text %'"
Nota gli spazi prima e dopo some text
quelli stanno impedendo alla mia domanda per ottenere risultati adeguati
Non ho idea del perché quegli spazi siano stati generati. Ho testato la mia domanda senza quegli spazi e restituisce risultati, quindi sono sicuro che quegli spazi stanno facendo fallire la mia query.
Qualche idea di un modo per aggirare questo problema?
Versioni: R 2.14.0 / RMYSQL 0.8
Grazie in anticipo
Soluzione
Il valore predefinito in paste
è sep=' '
(spazio), ma probabilmente hai intenzione sep=''
(stringa vuota). In recente R puoi usare paste0
invece.
Altri suggerimenti
Ottieni GSUBFN e risolvi questo problema facendo questo alla riga di comando (non in R):
wget http://cran.r-project.org/src/contrib/Archive/gsubfn/gsubfn_0.5-7.tar.gz
rm gsubfn_0.6-3.tar.gz
Questo installa una versione di GSUBFN che è compatibile con 2.14