大部分数据库在进行字符串比较时,对大小写是不敏感的。但是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);
如果在任何情况下都不需要对大小写敏感,就使用方法三;如果只是少量查询对大小写不敏感,可以用方法二。而方法一用到了函数,可能会影响查询速度,尽量不用