Simple question, but cannot find the answer.
Instead of:
Df <- sqlQuery(ch, "SELECT * FROM tblTest WHERE Id=25")
I want a more dynamic piece of code. Something like:
Id <- 25
Df <- sqlQuery(ch, c("SELECT * FROM tblTest WHERE Id=", Id))
But this is not correct.
Joshua Ulrich
We can use paste:
Df <- sqlQuery(ch, paste("SELECT * FROM tblTest WHERE Id =", Id))
c
concatenates into a vector, paste
is for string concatenation.
Or we can use sprintf:
sprintf("SELECT * FROM tblTest WHERE Id = %s", Id)
If you have multiple or reused arguments and a query that contains % you can use something like the following:
sprintf("SELECT * FROM test WHERE id = %1$s AND name = %2$s and type like ‘%%tall%%’”, id, name)
来源:https://stackoverflow.com/questions/3416973/dynamic-string-in-r