Domanda
Domanda semplice, ma non riesce a trovare la risposta.
Al posto di:
Df <- sqlQuery(ch, "SELECT * FROM tblTest WHERE Id=25")
Voglio un pezzo più dinamico di codice. Qualcosa di simile:
Id <- 25
Df <- sqlQuery(ch, c("SELECT * FROM tblTest WHERE Id=", Id))
Ma questo non è corretto.
Soluzione
Possiamo usare incollare:
Df <- sqlQuery(ch, paste("SELECT * FROM tblTest WHERE Id =", Id))
concatena c
in un vettore, paste
è per la concatenazione di stringhe.
In alternativa possiamo usare sprintf:
sprintf("SELECT * FROM tblTest WHERE Id = %s", Id)
Altri suggerimenti
Se si dispone di più o riutilizzati argomenti e una query che contiene% si può usare qualcosa di simile al seguente:
sprintf("SELECT * FROM test WHERE id = %1$s AND name = %2$s and type like ‘%%tall%%’”, id, name)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow