我正在开发一个安卓应用程序,其中每天我想检查1个月的旧记录在表中存在,如果我想从表中删除1个月的旧记录,我保存插入时间作为长值(System.currenttimemillis)在表中其数据类型是真实的。在sq-lite中有没有通过指定interval来删除旧记录的直接查询?
我在MySQL中得到了下面的问题,这在sq-lite中工作吗??请帮帮我。
DELETE FROM [table] WHERE [InsertTime] < DATE_SUB(NOW(), INTERVAL 1 MONTH);发布于 2013-07-14 14:21:38
这样的查询应该可以完成以下工作:
DELETE FROM <table> WHERE datetime(<dateColumn> / 1000, 'unixepoch') < datetime('now', '-1 month')除以1000是必要的,因为您是以毫秒为单位存储时间戳的,但是SQLite将秒理解为unixepoch。
发布于 2013-07-12 19:26:45
这将从当前日期减去一个月。
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);一旦你有了日期执行删除查询
https://stackoverflow.com/questions/17613647
复制相似问题