如何从sqlite数据库中删除早于特定时间段的行

时间:2017-07-19 21:41:10

标签: java android sql sqlite datetime

我有一个名为扫描的表。该表有3列。 id, barcode text, and scanned DATETIME DEFAULT CURRENT_TIMESTAMP。我想要一个查询来删除30天之前的行。最初,我使用了这样的查询。

 "date(scanned) < date('now', '-30 day')";

但这不起作用,那些30天以上的行未被删除。 然后我尝试了这个新查询

"datetime(scanned / 1000, 'unixepoch') < datetime('now', '-1 month')";

并删除了所有行,包括30天以下的行。 任何人都可以告诉我如何更改我的工作,让sqlite数据库只删除30天以上的行?

1 个答案:

答案 0 :(得分:3)

运行此

DELETE FROM scans WHERE scanned < DATETIME('now', '-30 day')