拿这个查询:
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/