循环 gsub 以根据 table 值从 hana 中提取

looping a gsub to pull from hana based on a table of values

希望我的标题有意义!如果没有,请随意编辑它。

我在 R 中有一个包含唯一日期的 table。有时这个 table 可能有一个日期,而在其他时候它可能有多个日期。我想将这些唯一日期循环到我创建的 SQL 查询中以提取数据并附加到 px_tbl。我不知道从哪里开始。以下是我到目前为止所拥有的,当我只有 1 个唯一日期时显然有效,但是当 table 包含 2 个日期时它不会拉。

unique_dates_df
DATE
2016-12-15
2017-02-15
2017-03-02
2017-03-09

sqlCMD_px <- 'SELECT *
           FROM "_SYS_BIC"."My.Table/PRICE"
           (\'PLACEHOLDER\' = (\'$$P_EFF_DATE$$\',\'%D\'))'

sqlCMD_px <- gsub("%D", unique_dates_tbl, sqlCMD_px)##<- the gsub is needed
so that the dates are formatted correctly for the SQL pull

px_tbl <- sqlQuery(myconn, sqlCMD_px)

我相信应用函数可以以一种或另一种形式工作,但我还没有弄明白。感谢您的帮助!

这应该有效:

#SQL command template
sqlCmdTemp <- 'SELECT *
           FROM '_SYS_BIC'.'My.Table/PRICE'
           (\'PLACEHOLDER\' = (\'$$P_EFF_DATE$$\',\'%D\'))'

#Dates as character
unique_dates <- c("2017-03-08","2017-03-09", "2017-03-10")

#sapply command
res<-sapply(unique_dates, function(d) { sqlQuery(conn, gsub("%D",d,sqlCmdTemp))},simplify=F)

#bind rows
tbl.df<-do.call(rbind,res)