首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从SQLite表中删除1个月前的记录

从SQLite表中删除1个月前的记录
EN

Stack Overflow用户
提问于 2013-07-12 19:12:30
回答 2查看 2.3K关注 0票数 1

我正在开发一个安卓应用程序,其中每天我想检查1个月的旧记录在表中存在,如果我想从表中删除1个月的旧记录,我保存插入时间作为长值(System.currenttimemillis)在表中其数据类型是真实的。在sq-lite中有没有通过指定interval来删除旧记录的直接查询?

我在MySQL中得到了下面的问题,这在sq-lite中工作吗??请帮帮我。

代码语言:javascript
复制
     DELETE FROM [table] WHERE [InsertTime] < DATE_SUB(NOW(), INTERVAL 1 MONTH);
EN

回答 2

Stack Overflow用户

发布于 2013-07-14 14:21:38

这样的查询应该可以完成以下工作:

代码语言:javascript
复制
DELETE FROM <table> WHERE datetime(<dateColumn> / 1000, 'unixepoch') < datetime('now', '-1 month')

除以1000是必要的,因为您是以毫秒为单位存储时间戳的,但是SQLite将秒理解为unixepoch

票数 3
EN

Stack Overflow用户

发布于 2013-07-12 19:26:45

这将从当前日期减去一个月。

代码语言:javascript
复制
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);

一旦你有了日期执行删除查询

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17613647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档