我在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;
答案 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)
您应该使用存储过程而不是编写服务。它将使您的应用程序更容易自动更新记录。
另一个解决方案是使用日期而不是字符串。当您运行服务然后获取数据作为日期,然后您可以进行简单的比较。