gpt4 book ai didi

android - 如何使我的 SQlite 查询不区分大小写?

转载 作者:行者123 更新时间:2023-11-29 00:51:47 24 4
gpt4 key购买 nike

我的原始代码是:

String sql = "select t.* from (select dId, " +
"case when substr(dWord, 1, 4) in ('das ', 'der ','die ') " +
"then substr(dWord, 5) else dWord end as dWord " +
"from german) t where t.dWord like '%' || ? || '%' " +
"order by instr(t.dWord, ?), t.dWord";
c = mydb.rawQuery(sql, new String[] {search, search});

例如,当我搜索“A”时,它会显示所有以大写字母“A”加注的单词按字母顺序排序,然后显示以“a”开头的单词按字母顺序排列。但我想将“a”视为“A”,将“A”视为“a”。我应该对代码进行哪些更改?Edit1 = 我知道 COLLATE NOCASE 但我不知道如何在我的代码中使用它。

最佳答案

将语句的最后一行更改为:

order by instr(lower(t.dWord), lower(?)), lower(t.dWord)

函数lower()会将列值和搜索字符串都转换为小写,以模拟函数内不区分大小写的比较 instr() .

关于android - 如何使我的 SQlite 查询不区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58874356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com