【发布时间】:2015-04-12 10:38:35
【问题描述】:
我想在 OrmLite 中表达以下 SQL-Query:
SELECT * FROM table WHERE NOT (number1 = 0 AND number2 = 0)
这里的问题是在非操作中包装和与条件。
-
我的第一个假设是写:
queryBuilder(). where().not() .eq("number1", 0) .and() .eq("number2", 0);结果:
SELECT * FROM table WHERE ((NOT number1 = 0 ) AND number2 = 0) -
下一个方法:
queryBuilder(). where().not() .eq("number1", 0) .and().not() .eq("number2", 0);结果:
SELECT * FROM table WHERE ((NOT number1 = 0 ) AND (NOT number2 = 0) ) -
我终于尝试了:
queryBuilder.where() .not( where.eq(DbProperties.COLUMN_NAME_GROUP_ID, item.groupId) .and().eq(DbProperties.COLUMN_NAME_TASK_ID, item.taskId) );结果:
IllegalArgumentException: NOT operation can only work with comparison SQL clauses
我也知道方法
and(int numClause)
or(int numClause)
但OrmLite不提供
not(int numClause).
有人可以假设另一种方式来构建查询吗?
【问题讨论】: