使用参数获取R中的SQL数据

时间:2016-02-17 16:26:59

标签: sql r

我想从MySQL服务器中提取一些数据。因此我使用以下代码:

#connect to database
getPlayersHome <- dbGetQuery(con,"SELECT * FROM match_player_home WHERE match_id = 1;")

这很好用,但我希望将它包含在带参数的函数中。但如果我这样做:

getData <- function(selector){
   getPlayersHome <- dbGetQuery(con,"SELECT * FROM match_player_home WHERE match_id = selector;")

}

我的查询不起作用(它返回所有内容)。对这里出了什么问题的想法?

1 个答案:

答案 0 :(得分:3)

您正在使用选择器参数错误,因为您编写了选择器它被解释为文字。您可以使用sprintf创建sql字符串传递参数:

getData <- function(selector){
    sql <- sprintf("SELECT * FROM match_player_home WHERE match_id = %s", selector)
    rs = dbSendQuery(con, sql)
}

sprintf中的字符串“%s”将替换为selector的值。