这个没测试 非sqlite 数据库
假设你的表中日期列为DT,
delete from tb where datediff(dd,DT,getdate())>30
原文地址 https://bbs.csdn.net/topics/390427287
我用到的是 sqlite 数据库没有 datediff getdate 所以不太适用 使用下面这个
举例:
今天是2017-08-10,要删除7天前的数据,也就是说,所有小于等于2017-08-03都要被删掉。
写法1:忽略时间精度,直接比较日期,删除N天前的数据。
DELETE FROM StatisticsData WHERE date('now', '-7 day') >= date(CreatedTime);
写法2:计算时间精度,比较日期和时间,删除N天前的数据。
DELETE FROM StatisticsData WHERE julianday('now') - julianday(CreatedTime) >= 7;
原文地址 https://www.cnblogs.com/VAllen/p/sqlite-datetime-difference.html 写的很优秀 这个测试了