【发布时间】:2018-08-25 09:40:20
【问题描述】:
我想过滤 R 中的 SQLite 数据库以查找字符串中的模式。问题是 LIKE sql 查询似乎不区分大小写。 下面是一个可重现的例子:
library(DBI)
library(dplyr)
tb <- dplyr::tibble(a=c(rep("aMSq",3), rep("amsq",3), rep("AA",3)))
mydb <- DBI::dbConnect(RSQLite::SQLite(), "")
DBI::dbWriteTable(mydb, "tb", tb, overwrite=T)
### Filtering the table
tb_sqlite <- tbl(mydb, "tb")
tb_sqlite %>%
filter( sql("a LIKE '%MS%'"))
dbDisconnect(mydb)
输出不区分大小写:
# Source: lazy query [?? x 1]
# Database: sqlite 3.22.0 []
a
<chr>
1 aMSq
2 aMSq
3 aMSq
4 amsq
5 amsq
6 amsq
如何进行区分大小写的搜索? 我已经看到在 LIKE 之后添加 BINARY 可能会完成这项工作,但它不会。
tks
【问题讨论】: