其实问题曾多次提出过,但我无法找到答案。用于国际字符的SQLite upper()相似的功能
有一组SQLite表是只读的 - 我无法更改它们的结构或重新定义排序规则。由一些国际字符组成的表格(俄文/中文等)。
我想获得一些不区分大小写的选择,如:
select name from names_table where upper(name) glob "*"+constraint.toUpperCase()+"*"
它的工作原理,只有当name
是拉丁/ ASCII字符,国际字符它不工作。
SQLite的手册如下:
上(X)函数返回输入字符串X其中所有 小写ASCII字符被转换为它们的大写 等效的副本。
所以问题是:如何解决这个问题,并使国际字符大写/小写?
我的表是只读的 - 我无法修改它们的结构 – barmaley 2013-04-30 11:54:12
您可以将其他数据库与所需的表和列一起使用,并将此数据库附加到原始数据库。然而,在这种情况下,同步的过程将更加复杂。 – matreshkin 2015-03-03 09:13:20
@matreshkin嗨!你可以更具体的toAsciiEquivalent()方法实现吗?也许一些代码示例?我是否也可以和LIKE语句一起使用? – AlexKost 2015-08-13 13:20:33