写在20120423:让SQLite不区分大小写

SQLite本身是区分大小写查询的,大部分数据库在进行字符串比较的时候,对大小写是不敏感的,但是在SQLite中,对大小写是敏感的。

那么有时候有这样的需求,让SQLite不区分大小写查询,那么有如下三种方式:

1.使用大小写转换函数LOWER、UPPER。

2.在进行比较时强制声明不区分大小写:"COLLATENOCASE"。

3.创建表时声明该字段不区分大小写。

这三种方式有相应的优缺点,那么下面是它们使用的场景:

1.如果任何情况都不需要大小写敏感,方式3就是最好的解决方案

2.如果只是少量查询对大小写不敏感,可以用方案2

3.方案一由于用到了函数,可能会有额外的性能消耗,一般不推荐使用。

相关推荐