在我的android应用程序中,我在具有datetime列的表中执行一些插入操作。要在该列中创建数据到inserd,我使用以下代码:
Date d = new Date((new Date()).getTime()+60000);
String exDate= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.ITALY).format(d);
我已经在我的表的DATETIME列(名为timestamp)中添加了这个String。
现在我想在该表中执行查询,该查询删除时间戳列中的日期大于给定日期的所有行。像这样:
DELETE FROM mytable WHERE timestamp > mydate
我试图在delete(String table, String whereClause, String[] whereArgs)
库中使用SQLiteDatabase
方法。
有人可以帮助我吗?
答案 0 :(得分:1)
根据我的经验,使用String作为日期时间字段是一个糟糕的选择。请改用long
。 Android可以根据Unix Epoch创建/设置Date
或Calendar
个对象,并且比较sqlLite中的long
是轻而易举的。
所以是的,我的答案是:更改SQL create语句以使用INTEGER而不是TEXT,您可以轻松调用您尝试执行的delete语句。