在SQL Server数据库上对dbplyr使用正则表达式

时间:2018-07-27 18:34:15

标签: r sql-server dbplyr

我很高兴看到dbplyr支持str_detect()命令。但是,当我通过ODBC连接在SQL Server数据库上进行查询时,它不适用于正则表达式:特殊字符“。”例如,不是解释为通配符,而是解释为通配符,即句点。有解决方法吗?

例如,

my_tbl%>%filter(str_detect(COL1, "A123.4"))

将匹配“ A123.4”,但不匹配“ A123x4”。

1 个答案:

答案 0 :(得分:1)

Sql服务器不支持正则表达式。这样做的唯一方法是为proc /函数编写自定义CLR程序集,或者在将正则表达式应用到应用程序代码中之前使用通配符进行操作。

使用“ A123_4”可以实现您的目标,其中下划线最接近于“”。在正则表达式中