SQLite忽略大小寫

大部分數據庫在進行字符串比較時,對大小寫是不敏感的。但是SQLite卻是大小寫敏感的。如果想讓SQLite忽略大小寫,方法如下:

  • 方法一:使用大小寫轉換函數LOWER、UPPER

SELECT * FROM User WHERE LOWER(UserName) = ‘user1′;

  • 方法二:在進行比較時強制聲明不區分大小寫

SELECT * FROM User WHERE UserName = ‘user1′ COLLATE NOCASE;

  • 方法三:創建表時聲明該列不區分大小寫

CREATE TABLE User (UserName NVARCHAR(20) COLLATE NOCASE);

如果在任何情況下都不需要對大小寫敏感,就使用方法三;如果只是少量查詢對大小寫不敏感,可以用方法二。而方法一用到了函數,可能會影響查詢速度,儘量不用

 

備註:可能有些人的sqlite不區分大小寫

參考下述:

sqlite like 通配符 ,匹配區分大小寫(默認不區分大小寫)

在查詢前先執行這個語句 , 1 時區分大小寫,0時不區分

 PRAGMA case_sensitive_like =0;

 

select prod_name,PROD_PRICE
from products
where prod_name like 'b%' --  PRAGMA case_sensitive_like =0  匹配B和b開頭的 ;=1時 僅匹配b開頭的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章