gpt4 book ai didi

mysql - 有没有在数据库查询中使用 REGEXP 的 dplyr 方法?

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:07 24 4
gpt4 key购买 nike

当我使用 dplyr 查询数据库时,我经常需要搜索字符串。通常,我使用 %like% 就足够了。不过,有时我宁愿使用正则表达式。如果我正在编写纯 SQL,我会编写如下内容:

select pidm, jobtitle from people
where jobtitle REGEXP "^Athl.*train"

当然,我想编写 tidyverse 风格的 R:

foo  <- tbl(my_database,"people") %>%
filter(jobtitle %regexp% "^Athl.*train") %>%
select(pidm, jobtitle )

使用 stringr::str_detect() 在 SQL 中不起作用。有没有办法继续编写 tidyverse 风格的代码,但仍然进行正则表达式风格的搜索?

如果重要的话,我的数据库运行在 MySQL 上。

最佳答案

没错 dbplyr 还不支持 stringr 命令。我有 PR 所以我们希望很快就会有。同时,您可以从 filter() 中调用 SQL native 命令,例如 INSTR,例如您可以这样做:

foo  <- tbl(my_database,"people") %>%
filter(instr("train", jobtitle)) > 0) %>%
select(pidm, jobtitle )

关于mysql - 有没有在数据库查询中使用 REGEXP 的 dplyr 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46228845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com