这是sqlite中的错误吗?

时间:2016-11-08 18:03:04

标签: sql sqlite sql-like uppercase lowercase

我有以下捷克语查询:

select Id,Name 
from Account 
where Name like '%Še%'

它会返回正确的结果。但是,如果我在查询中将Š更改为š

select Id,Name 
from Account 
where Name like '%še%'

它什么都不返回。这是一个sqlite错误吗?

1 个答案:

答案 0 :(得分:4)

https://www.sqlite.org/lang_expr.html#like

  

重要说明:SQLite默认只能理解ASCII字符的大写/小写。对于超出ASCII范围的unicode字符,LIKE运算符默认区分大小写。例如,表达式'a'LIKE'A'为TRUE,但'æ'LIKE'Æ'为FALSE。 SQLite的ICU扩展包括一个LIKE运算符的增强版本,它可以跨所有unicode字符进行大小写折叠。

因此,您的问题的解决方案是获得具有ICU扩展名的SQLite版本。