【发布时间】:2017-03-08 14:41:33
【问题描述】:
我是 R 编码的新手。我有一个问题。
Df <- dbGetQuery(con, "SELECT * FROM EMP WHERE ename like '%raju%'")
我想要一段更动态的代码。当有多个名称时,例如 deepak、ravi、raghu 等。
【问题讨论】:
-
你实际上并没有问问题。
我是 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%'
【讨论】: