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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM