[R] rmysql query help
Duncan Murdoch
murdoch at stats.uwo.ca
Wed May 6 22:22:42 CEST 2009
On 5/6/2009 3:47 PM, Aaron Sims wrote:
> R HELP,
>
> I am trying to use an R script to connect to a mysql database. I am
> having a problem using a variable in the where clause that contains a
> "space" in its value.
> If I include the variable inside the quotes of the query - i think it is
> searching for the name of the variable in the database and not the value
> of the variable.
> If I put it outside the quotes, then it complains about the space. Are
> there special escape characters or something else Im missing? This date
> format in a mysql table is pretty standard
> Any ideas?
You need to construct a query like your last one, by pasting the
startdatetime value in. MySQL can't see R variables. So it should be
something like:
dbSendQuery(connect, statement=paste("SELECT ICE FROM table1
WHERE BEGTIME >='", mydatetime, "'", sep=""))
Duncan Murdoch
>
> Thanks,
> Aaron
>
>
> require(RMySQL)
> startdatetime<-"2009-04-04 01:00:00"
> connect <-
> dbConnect(MySQL(),user="xxxxx",password="xxxxxx",dbname="xxxxx",host="xxx.xxx.xxx.xxx")
>
> forecast <- dbSendQuery(connect, statement=paste("SELECT ICE FROM table1
> WHERE BEGTIME >= 'startdatetime'")) # doesnt read variable
> or
> forecast <- dbSendQuery(connect, statement=paste("SELECT ICE FROM table1
> WHERE BEGTIME >="startdatetime)) # space error
>
> but this seems to work
> forecast <- dbSendQuery(connect, statement=paste("SELECT ICE FROM table1
> WHERE BEGTIME >='2009-04-04 01:00:00'"))
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list