Sql模糊查詢,Like預設是不區分大小寫的 使用Like時,怎麼支持大小寫呢? upper、lower,只能模糊所有的內容,不能區分內容中的大小寫。 sqlite資料庫對text欄位預設是大小寫敏感的,但是唯獨在模糊查詢時不起作用。 解決方法是:查詢前先執行PRAGMA case_sensitiv ...
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