我正在开发一个 android 应用程序,每天我想检查表中存在的 1 个月前的记录,如果我想从表中删除 1 个月前的记录,我将插入时间保存为 long 值 (System.currenttimemillis)在表中,它的数据类型是 REAL。 sql-lite 中是否有任何直接查询可以通过指定间隔删除旧记录?
我在 MySQL 中得到以下查询,这在 sql-lite 中有效吗?请帮助我...
DELETE FROM [table] WHERE [InsertTime] < DATE_SUB(NOW(), INTERVAL 1 MONTH);
最佳答案
像这样的查询应该可以完成工作:
DELETE FROM <table> WHERE datetime(<dateColumn> / 1000, 'unixepoch') < datetime('now', '-1 month')
除以 1000
是必要的,因为您以毫秒为单位存储时间戳,但 SQLite 理解 unixepoch
的秒数。
关于android - 从 SQLite 表中删除 1 个月前的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17613647/