为什么我的查询不区分大小写?
Select * from MyTable where name like '%Ann%'
正确显示记录1:
Record1= John, Ann, Jack
但也显示了记录2:
Record2: Jack, Susanne, Jim
答案 0 :(得分:4)
您可以执行PRAGMA case_sensitive_like = on
,但这会影响程序中使用的所有LIKE,并禁用任何索引优化以进行前缀搜索。
更好的想法是用GLOB替换LIKE:
SELECT * FROM MyTable WHERE Name GLOB '*Ann*'
答案 1 :(得分:-2)
SQL LIKE不区分大小写(对CL而言)因此,在某些SQL实现中,您can do case Sensitive SQL query Searches
答案 2 :(得分:-2)
[从rbedger's answer复制:]
您可以在不区分大小写的字段中使用UPPER关键字,然后使用大写的类似语句
SELECT * FROM mytable
WHERE caseSensitiveField like 'test%'
AND UPPER(caseInsensitiveField) like 'G2%'