我有一个微调器,我们可以从中选择一个项目。还有两个按钮可以选择 FROM date 和 TO date。显示数据 基于从类别中选择的项目,介于 FROM 日期和 TO 日期之间。如何实现。
下面的查询是否正确
SELECT * FROM TableName WHERE category = ? AND FromDate >= ? AND ToDate <= ?
在安卓sqlite中。谁能帮帮我。
我的数据库架构
编号 |日期 |货币 |商家 |支付类型 |类别
1 | 2011-9-9 |美元 |更多 |借方 |个人
2 | 2011-9-12 |欧元 |本田 |现金 |商业
最佳答案
好的,您的 YYYY-MM-DD 日期格式看起来不错;确保 TO 和 FROM 日期以相同的方式格式化为字符串。查询:
SELECT * FROM TableName where category = ? and dates >= ? and dates <= ?;
或者按照 Pratik 的建议
SELECT * FROM TableName where category = ? and dates between ? and ?;
根据要求,这里有一个可能的 SQLiteDatabase 查询语句:
Cursor cursor = db.query("TableName", null,
"category = ? and dates between ? and ?",
new String[] {"personal", "2011-09-07", "2011-09-10"},
null, null, null);
当然,您会在哪里替换 selectionArgs
包含微调器中的值以及 FROM 和 TO 日期的字符串。
我刚刚注意到显示的表格中的日期在月份和日期字段中没有前导零;您需要这些才能使比较正常工作,因为您实际上是在比较文本字符串。注:"2011-09-10" < "2011-9-9"
但是"2011-09-10" > "2011-09-09"
关于android - 如何根据 android spinners 从 sqlite db 中选择的项目显示两个日期之间的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7388751/