RMYSQL Agregar espacios a la consulta haciendo que falle
Pregunta
Estoy tratando de ejecutar una consulta MySQL usando RMYSQL que incluye un LIKE
y una variable personalizada dentro de la consulta.
Aquí hay un ejemplo de mi consulta
customvar= 'some text'
(simpleQuery<-paste("SELECT * FROM `table` WHERE NameOfField like '%",customvar,"%'"))
res<-dbGetQuery(con, simpleQuery)
La cosa es que por alguna razón SimpleQuery interpreta la consulta como esta
[1] "SELECT * FROM `table` WHERE NameOfField '% some text %'"
Tenga en cuenta los espacios antes y después some text
Esos evitan que mi consulta obtenga los resultados adecuados
No tengo idea de por qué se generan esos espacios. Probé mi consulta sin esos espacios y devuelve los resultados, por lo que estoy seguro de que esos espacios están haciendo que mi consulta falle.
¿Alguna idea de una forma de evitar este problema?
Versiones: R 2.14.0 / RMYSQL 0.8
Gracias por adelantado
Solución
El valor predeterminado en paste
es sep=' '
(espacio), pero probablemente tienes la intención sep=''
(cuerda vacía). En recientes r puedes usar paste0
en cambio.
Otros consejos
Obtiene GSubfn y resuelve este problema haciendo esto en la línea de comando (no en R):
wget http://cran.r-project.org/src/contrib/Archive/gsubfn/gsubfn_0.5-7.tar.gz
rm gsubfn_0.6-3.tar.gz
Esto instala una versión de GSubfn que es compatible con 2.14