4

我想用这个:

return mDb.query(DATABASE_TABLE, new String[] { KEY_ROWID, 
KEY_LEVEL }, KEY_LEVEL + ">= 3 AND " + KEY_LEVEL + " < 5", null, null, null, null);

但不是 5 我希望它检查它发现大于或等于 3 的下一列。

因此,当我输入 5 时,我希望它检查第 3 列中是否大于或等于 5,但小于下一列第 4 列中的值。

取自Sqlite 查询检查的原始代码 - 小于和大于

4

2 回答 2

5

只需这样做:

String[] selectionArgs = { "5", "5" };
String[] columns = { KEY_ROWID, KEY_COLUMN3, KEY_COLUMN4 };
String selection = "KEY_COLUMN3 >= ? AND KEY_COLUMN4 < ?";
return mDb.query(DATABASE_TABLE, columns, selection, selectionArgs, null, null, null);
于 2013-08-27T19:40:17.010 回答
2

对我来说,像@buzeeg 提供的字符串格式的数字是行不通的

问题:我的任务是执行UPDATE,在我的情况下它不应该成功,但正如您可能猜到的,当我们1用作查询 arg 时,'1'>2意味着true

UPDATE table SET field = 1 WHERE ? > 2

解决方案: CAST帮我解决了:

SELECT * FROM smth WHERE CAST(? as integer) > 2
于 2019-02-08T17:46:41.013 回答