拿这个查询:

SELECT EXTRACT(month FROM order_date) "Month"
  FROM orders

(来自 official oracle doc 的简化示例)

您将如何将上述 EXTRACT 操作集成到 dbplyr 链中?

我愿意接受任何其他解决方法(甚至是丑陋/昂贵的)来在服务器端提取月份。

最佳答案

更优雅:

tbl(con, "orders") %>% mutate(Month = extract(NULL %month from% order_date))

这将产生以下 SQL (ANSI SQL):
EXTRACT( MONTH FROM "order_date")

这个技巧是有效的,因为运算符的名称(百分号之间的内容)被逐字转换为 SQL。 NULL 消失(与 NA 不同)。

关于r - 连接到 Oracle DB 时如何通过 dbplyr 使用 EXTRACT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47438567/

10-11 05:00