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

标签 android sqlite

我正在开发一个 android 应用程序,每天我想检查表中存在的 1 个月前的记录,如果我想从表中删除 1 个月前的记录,我将插入时间保存为 long 值 (System.currenttimemillis)在表中,它的数据类型是 REAL。 sql-lite 中是否有任何直接查询可以通过指定间隔删除旧记录?

我在 MySQL 中得到以下查询,这在 sql-lite 中有效吗?请帮助我...

     DELETE FROM [table] WHERE [InsertTime] < DATE_SUB(NOW(), INTERVAL 1 MONTH);

最佳答案

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

DELETE FROM <table> WHERE datetime(<dateColumn> / 1000, 'unixepoch') < datetime('now', '-1 month')

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

关于android - 从 SQLite 表中删除 1 个月前的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17613647/

相关文章:

android - ListView 项目状态未在 Android 中保存在滚动中

android - 从我的 Android 应用程序启动与 MS Teams Android 应用程序中的用户聊天

java - 使用 mpxj 读取 asta 文件 (.pp) 时出现异常

java - 从 GestureOverlayView 生成位图

android - 布局中资源的使用

android - Android 的通用图像加载器可以处理来自 sqlite 数据库的图像吗?

c++ - SQLite如何限制记录数

sqlite - SQLite 的有效版本号是多少?

java - Android 在 include 标签中找不到 BindingConversion

sqlite - 如何在一台服务器上托管多个幽灵博客