Sql like模糊查询 区分大小写

Sql模糊查询,Like默认是不区分大小写的

使用Like时,怎么支持大小写呢?

upper、lower,只能模糊所有的内容,不能区分内容中的大小写。

sqlite数据库对text字段默认是大小写敏感的,但是唯独在模糊查询时不起作用。

解决方法是:查询前先执行PRAGMA case_sensitive_like = 1;然后再执行数据库查询语句。

PRAGMA case_sensitive_like的值,可以是1/0,也可以设置为ON/OFF。

开启后,会对数据库有变更修改。

值得注意的是,开启了大小写敏感后,查询数据需要添加Limit参数

直接查询,无结果:

select * from HanziList WHERE Pinyin like 'Q%'

 从查询日志中,我们可以看到,其实默认查询的数据量为0:

添加Limit参数:

Limit这里0,3,表示查询的数据中取前3条数据。

也可以直接使用数字3

 

参考:

Case sensitive and insensitive like in SQLite

posted @ 2019-12-09 11:38  唐宋元明清2188  阅读(2050)  评论(0编辑  收藏  举报