SQLite 实现删除表中前一天的数据

时间:2022-02-24 14:49:28

注意点1

要注意SQLite datatime()函数为何获取不到系统本地时间?这个问题,坑死我了。

解决方法详见这篇文章:SQLite datatime()函数为何获取不到系统本地时间?

注意点2:

SQLite 支持以下五个日期和时间函数:

序号 函数 实例
1 date(timestring, modifier, modifier, ...) 以 YYYY-MM-DD 格式返回日期。
2 time(timestring, modifier, modifier, ...) 以 HH:MM:SS 格式返回时间。
3 datetime(timestring, modifier, modifier, ...) 以 YYYY-MM-DD HH:MM:SS 格式返回。
4 julianday(timestring, modifier, modifier, ...) 这将返回从格林尼治时间的公元前 4714 年 11 月 24 日正午算起的天数。
5 strftime(format, timestring, modifier, modifier, ...) 这将根据第一个参数指定的格式字符串返回格式化的日期。具体格式见下边讲解。

我的表:

SQLite 实现删除表中前一天的数据

目的

我想要删除一天前的 GpsData 数据。

代码

delete from  GpsData WHERE  CreateTime BETWEEN  '2017-01-01 00:00:00'  AND  datetime('now','localtime','-1 day');

测试:

SELECT  datetime('now','localtime','-1 hours');

SELECT  date('now','-1 day');

SELECT  datetime('now','localtime');

完成,就这段代码,花费了我两个小时,晕死。