从android sqlite表中删除

时间:2011-06-28 09:30:52

标签: android sqlite

我在android sqlite数据库表中有一个列。列中的值如下:

2011/06/01
2011/06/02
2011/06/05
2011/06/10
2011/06/11
2011/06/13
2011/06/15
2011/06/16
2011/06/25
2011/06/26

我有一个字符串today="2011/06/27"

现在我要删除那些列值从今天起超过5天的行。

如何修改代码来实现这个目标?

return db.delete(DATABASE_TABLE,where date="", null) > 0;

3 个答案:

答案 0 :(得分:0)

您必须以其他格式存储日期,请检查the date function of SQLite。使用YYYY-MM-DD代替YYYY/MM/DD。您已经在其字符串表示形式定义的日期上获得了订单。因此,您可以使用SQLite的日期函数来选择正确的行。

将会像这样查询超过5天的日期。

... WHERE datecolumn < date('now', '-5 days') ...

答案 1 :(得分:0)

sqlite中没有日期类型

您只需将数据表示值存储为字符串或int

然后使用sqlite的基于日期的函数来获取值

答案 2 :(得分:-1)

您应该使用存储过程而不是编写服务。它将使您的应用程序更容易自动更新记录。

请参阅链接:http://searchoracle.techtarget.com/answer/Time-based-stored-procedure-to-check-table-and-update-old-records

另一个解决方案是使用日期而不是字符串。当您运行服务然后获取数据作为日期,然后您可以进行简单的比较。