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.

È stato utile?

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
scroll top