我的目标是在 Android Gingerbread 及更高版本上从具有特定电子邮件地址的 native 数据库中获取所有行。
此查询仅获取大小写也匹配的行。
Cursor cursor = context.getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
new String[] {Contacts._ID}, ContactsContract.CommonDataKinds.Email.ADDRESS + "=?",
new String[] {email}, null);
我读过有关使用 lower('xx') 的 sql 的 WHERE 子句,但我不知道如何使用它。我还了解到你可以在创建表时让列不关心大小写,但那艘船已经航行了。
最佳答案
也试试
Cursor cursor = context.getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
new String[] {Contacts._ID}, ContactsContract.CommonDataKinds.Email.ADDRESS + "=? COLLATE NOCASE",
new String[] {email}, null);
请注意,在查询中添加了 COLLATE NOCASE
。
关于android - 如何在 Android 中使用 ContentResolver 进行不区分大小写的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12566207/