将多个参数传递给dbGetQuery()?与运营商一样

时间:2017-03-08 14:41:33

标签: r roracle

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

select convert(date, getdate())
    , dateadd(day, datediff(day, 0, getdate()), 0)

我想要一个更有活力的代码片段。当有多个名字,如deepak,ravi,raghu等。

1 个答案:

答案 0 :(得分: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%'