java - SQLite - 检查时间是否超过一个月前

标签 java sql sqlite

检查 DATETIME (TIME) 是否早于一个月前

这是我正在尝试做的更新:

DELETE FROM BLOCKDATA WHERE TIME <= DATEADD(MONTH, -1, GETDATE());

但它失败并出现错误:

No such column: month

表格:

      String sql = "CREATE TABLE BLOCKDATA " +
              " (ID    INTEGER PRIMARY KEY, " + 
              " PLAYERID           TEXT    NOT NULL, " +
              " TIME           DATETIME    NOT NULL, " + 
              " LOCATION           TEXT    NOT NULL, " + 
              " ACTION            TEXT     NOT NULL, " + 
              " SPECIAL        TEXT, " + 
              " SPECIAL2         TEXT)"; 

我正在使用 Java。

最佳答案

SQLite 没有 DATEADD。

您必须为 date functions 之一使用修饰符:

... WHERE time <= date('now', '-1 month')

(使用哪个函数取决于时间栏中的实际格式。)

关于java - SQLite - 检查时间是否超过一个月前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24231993/

相关文章:

java - 在一行中设置一个变量并检查是否相等

java - 用Android测量音量

SQL Server - 尝试计算一个 SELECT DISTINCT 查询

objective-c - 带有核心数据的 iPhone 应用程序。如何连接和交换数据?

sqlite - 查找可以由一组成分制成的食谱

python - 如何查看 sqlite3 Python 模块在 Ubuntu 16.04 上使用的 sqlite3 二进制文件?

java - 是否有支持 Annotate/Blame 的 Java Diff 库?

java - concurrentHashMap 和 hashtable 中使用的锁定机制

sql - 如何在更改列字符串之前从 SQL 表中获取所有行?

sql - 如何使重复值唯一?