MASUMEH MASUMEH - 28 days ago 5
SQL Question

Pass R variable to a sql statement

Is there any way to pass a defined variable in R to the SQL statement within the sqldf package?

i have to run the code below and I passed the 'v' variable to sql select statement as '$v'

for (i in 1:50){
v <- i+ 450
temp <- sqldf("select count(V1) from file_new where V1='$v' ")
}


Although it runs, it returns wrong result. [The result should be 1000 but this code returns 0].

Hence, I think it doesn't pass the variable value.

Answer

If v is an integer then you don't want to enclose the $v with single quotes - that makes it a string value. Try without the single quotes.

temp <- fn$sqldf("select count(V1) from file_new where V1=$v ")