2

我的 Android 应用程序有一个 SQLite 数据库表,其条目如下:

USER_ID | NAME | MESSAGE | TIMESTAMP

其中时间戳存储在字符串中,格式为:

"2012-10-10T03:14:32+0000"

我正在寻找一种方法来删除超过 3 天的条目。

该表一次可能少于 3,000 行。

我是 SQL 新手,我的问题是如何在 SQL for SQLite 中处理这个问题?在 SQL 中是否有比在 Java 中迭代所有帖子更便宜的方法?

4

1 回答 1

3

你可以看看这个文档

另一种方法是利用您使用的日期格式可以直接作为字符串排序(字典顺序)这一事实。

  1. 在 java 代码中,您构建表示日期时间阈值的字符串(现在减去 3 天)
  2. 并且只需在 where 子句中比较 SQL 中的字符串

    SELECT * FROM MyTable WHERE TIMESTAMP >= '我用 Java 构建的日期'

大多数时候,时间戳和日期时间在 SQLite 中存储为刻度,这涉及到 int 比较(快得多)。

于 2012-10-10T14:50:39.050 回答