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);
我想执行这样的查询....
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);