2

我很高兴看到 dbplyr 支持该str_detect()命令。但是,当我通过 ODBC 连接对 SQL Server 数据库进行查询时,它不能与正则表达式一起正常工作:特殊字符“。” 例如,它不被解释为通配符,而是被解释为它的字符,所以是一个句点。有什么解决方法吗?

例如,

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

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

4

1 回答 1

1

Sql server 不支持正则表达式。这样做的唯一方法是为 proc/function 编写自定义 CLR 程序集,或者在应用程序代码中应用正则表达式之前使用通配符做你可以做的事情。

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

于 2018-07-28T08:57:16.007 回答