get_query() 中的绑定变量 - RMD 文件

bind variables in get_query() - RMD files

我一直在努力解决以下问题。 我正在尝试创建一个 RMD 模板。我正在使用 get_query() 方法提取数据,并且在查询中,我通过以下方式使用带有 ilike 运算符的绑定变量:ilike '%' || :bindvalue || '%' .

当我尝试编织(到 运行 查询)时,它弹出以下问题:解析错误、语法错误 'US'、语法错误 ')' .

但是当我用 bind 删除 ilike 时,它​​ 运行s 完美。 是否可以在 RMD 上使用 ilike 运算符绑定变量?也许有人知道任何解决方法?还是 glue 参数有问题?

我的查询:

geo <- 'US'
geo_url <- '.com'

geo_general_info <- get_query("SELECT
MERCHANT_NAME, industry, business_plan ,went_live_at, count(order_id) as order_cnt ,sum(order_value) as  orders_tot_value
FROM orders o left join merchnats m using(MERCHANT_ID)
where went_live_at is not null
AND ((m.MERCHANT_NAME ilike '%' || :geo || '%') or (m.HQ ilike '%' || :bindvalue || '%' )
         or (m.URL ilike  '%' ||:geo_url || '' ))
group by 1
order by 5 desc;", glue_parameters = list(geo = geo, geo_url = geo_url))

Thanks!

解决了。 问题是带有“_”符号的绑定变量。 把我之前贴的代码石化后,解决办法是:

(m.MERCHANT_NAME ilike :geo ) or (m.HQ ilike :geo )
         or (m.URL ilike :geourl ))

参数为(例如):geo = "%geoname%", geourl = "%value"