将多个参数传递给 dbGetQuery()?与类似的运营商

Passing multiple argument to dbGetQuery()? with like operator

我是 R 编码的新手。我有一个问题。

Df <- dbGetQuery(con, "SELECT * FROM EMP WHERE ename like '%raju%'")

我想要一段更动态的代码。当有多个名字时,例如 deepak、ravi、raghu 等

考虑与 paste0 进行动态串联。外部 paste0 是用所需的引号和 LIKE 运算符将较大的字符串括起来:

likevars = paste0("LIKE '%", paste0(c("deepak", "ravi", "ragh"), 
                                    collapse="%' OR ename LIKE '%"), "%'")

Df <- dbGetQuery(con, sprintf("SELECT * FROM EMP WHERE ename %s", likevars))

# SELECT * FROM EMP WHERE ename LIKE '%deepak%' OR ename LIKE '%ravi%' OR ename LIKE '%ragh%'