我有一个参数,用户可以选择存储数据的时间段。
我在days
变量中读到了它。将记录添加到数据库的日期和时间存储在KEY_DATE_ADDED
中,创建如下:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // sql date format
Date date = new Date();
initialValues.put(KEY_DATE_ADDED, dateFormat.format(date));
然后我执行以下操作:
mDb.delete(DATABASE_TABLE,
"date(now) > date(" + KEY_DATE_ADDED + ",+" + days + " days)",
null);
它不起作用。实际查询(部分)如下所示:
日期(现在)>日期(DATE_ADDED,+ 10 天)
这里有什么不对?看起来不是date_added
而是其他东西应该在这里。
我想使用SQL data formatting来避免多次重新格式化日期。
Android数据库是否有用于测试实际数据的SQL查询的GUI?
答案 0 :(得分:3)
好的,我应该使用date('now') > date('date_added','+10 days')
答案 1 :(得分:1)
请记住,可能还需要定期使用VACUUM命令来实际减小数据库的大小。