【问题标题】:Passing multiple argument to dbGetQuery()? with like operator将多个参数传递给 dbGetQuery()?与类似的运营商
【发布时间】:2017-03-08 14:41:33
【问题描述】:

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

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

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

【问题讨论】:

  • 你实际上并没有问问题。

标签: r roracle


【解决方案1】:

考虑与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%'

【讨论】:

  • 感谢 Parfait 提供的解决方案,它就像魅力一样发挥作用
猜你喜欢
  • 2016-07-18
  • 1970-01-01
  • 1970-01-01
  • 2022-07-26
  • 2013-01-07
  • 2011-10-10
  • 2013-09-15
  • 2010-10-09
  • 2012-09-05
相关资源
最近更新 更多