Android 中的 SQLite 查询删除

SQLite query delete in Android

我想执行这样的查询....

delete FROM employees where hired_on >= date('now', 'start of day', '-30 days');

它试图执行

String dateLimit = "date('now', 'start of day', '-30 days')";

database.delete(TABLE_NAME,COLUMN_NAME + " >= ? ", new String[]{dateLimit});

database.execSQL("DELETE FROM " + TABLE_NAME + " WHERE " + COLUMN_NAME  + " >= " + dateLimit);

但是没用....

我应该做什么?

提前致谢......

编辑

列的示例数据是

 2016-03-21 06:22:36
 2016-03-22 07:47:19
 2015-12-22 17:42:23
 2015-12-21 19:01:05
 2015-06-28 09:46:16

列类型为 text

参数只能用于文字值。 您尝试执行的内容与以下内容相同:

delete FROM employees where hired_on >= 'date(''now'', ''start of day'', ''-30 days'')';

>= 之后的所有内容都是一个字符串。

要执行 SQL 函数,例如 date,您必须将其直接写入 SQL 查询:

db.delete(TABLE_NAME,
          COLUMN_NAME + " >= date('now', 'start of day', '-30 days')",
          null);