-1

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

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

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

4

1 回答 1

2

考虑与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%'
于 2017-03-08T16:06:34.543 回答