如何从android上的sqlite数据库中删除旧行?

时间:2011-03-26 15:29:44

标签: android datetime sqlite

我有一个参数,用户可以选择存储数据的时间段。 我在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?

2 个答案:

答案 0 :(得分:3)

好的,我应该使用date('now') > date('date_added','+10 days')

答案 1 :(得分:1)

请记住,可能还需要定期使用VACUUM命令来实际减小数据库的大小。

http://www.sqlite.org/lang_vacuum.html