我有以下捷克语查询:
select Id,Name
from Account
where Name like '%Še%'
它会返回正确的结果。但是,如果我在查询中将Š
更改为š
:
select Id,Name
from Account
where Name like '%še%'
它什么都不返回。这是一个sqlite错误吗?
答案 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版本。