我的 Android 应用程序有一个 SQLite 数据库表,其条目如下:
USER_ID | NAME | MESSAGE | TIMESTAMP
其中时间戳存储在字符串中,格式为:
"2012-10-10T03:14:32+0000"
我正在寻找一种方法来删除超过 3 天的条目。
该表一次可能少于 3,000 行。
我是 SQL 新手,我的问题是如何在 SQL for SQLite 中处理这个问题?在 SQL 中是否有比在 Java 中迭代所有帖子更便宜的方法?
你可以看看这个文档。
另一种方法是利用您使用的日期格式可以直接作为字符串排序(字典顺序)这一事实。
并且只需在 where 子句中比较 SQL 中的字符串
SELECT * FROM MyTable WHERE TIMESTAMP >= '我用 Java 构建的日期'
大多数时候,时间戳和日期时间在 SQLite 中存储为刻度,这涉及到 int 比较(快得多)。