实际上,这个问题已经被问了几次,但我没能找到答案。
有一组SQLite表是只读的 - 我不能改变它们的结构或重新定义排序规则。这些表包含一些国际字符(俄语/中文等)。
我想要进行一些不区分大小写的选择,例如:
select name from names_table where upper(name) glob "*"+constraint.toUpperCase()+"*"
只有当name
是拉丁/ ASCII字符集时才有效,对于国际字符则无效。
SQLite的手册中写道:
upper(X)函数返回输入字符串X的副本,在其中所有小写ASCII字符都转换为它们的大写等效项。
因此问题是:如何解决这个问题并使国际字符变成大/小写?