作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个表,其中一列是一个包含三个字符的字符串,每个字符的值为 0 或 1。我想根据大小写选择这些行。
我想执行这样的查询:
SELECT * FROM Item WHERE group_type LIKE ?
?可以是100或101或011或111或001。三个字符中0和1的组合。
我正在尝试使用 LIKE 进行查询
WhereCondition where = null;
switch (condition) {
case case1:
where = ItemDao.Properties.GroupType.like("1%");
break;
case case2:
where = ItemDao.Properties.GroupType.like("%1%");
break;
case case3:
where = ItemDao.Properties.GroupType.like("%1");
break;
}
List<Item> items = itemDao.queryBuilder().where(where).list();
case1 按预期返回以 1 开头的所有内容。case3 按预期返回以 1 结尾的所有内容。case2 正在返回所有内容!它不计算开头、中间或结尾的值。它正在返回所有内容。
案例 1 和案例 3 工作正常。但是,case2 不工作。有什么问题吗?
最佳答案
没有。 “%1%”应该返回出现“1”的所有内容。它可以是“100”、“010”或“101”,但不能是“000”。
关于android - 使用 LIKE 的查询不适用于 GreenDAO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37501001/
我是一名优秀的程序员,十分优秀!