我对日期格式使用字符串比较来删除数据库中的记录。我想删除过去 5 分钟的数据。这是我正在使用的代码。它似乎不起作用。它不会删除任何记录。为什么 ?
int rangeInMinutes = -5;
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar now = Calendar.getInstance();
Calendar range = Calendar.getInstance();
range.add(Calendar.MINUTE, rangeInMinutes);
queryString.append(range);
StringBuilder queryString = new StringBuilder("date("'"+now +"'") > date("'"+range+"'");
int c = mydatabase.delete("mytable", queryString.toString(), null)
logcat 显示:0 条记录被删除...
- 我以字符串格式存储日期。
更新:
在 SQLite 中将日期字段从 Text 转换为 Long 之后。
myddatabase.delete("mytable", "date > datetime('now','-5 minutes') AND date < datetime('now') ", null);
仍然它不会删除任何记录。为什么 ?