比如我有个用SQLite Studio创建的Sqlite3类型数据库,里面有个表名为StatisticsData的表结构是 :

-- 表:StatisticsData
CREATE TABLE "StatisticsData" ( "Id" TEXT NOT NULL, "MachineName" NVARCHAR, "SessionId" INTEGER, "ProcessId" INTEGER, "ProcessName" NVARCHAR, "ProcessRunningStatus" NVARCHAR, "WorkingSetMemory" NVARCHAR, "WorkingSetPrivateMemory" NVARCHAR, "WorkingSetPeak" NVARCHAR, "ThreadCount" NVARCHAR, "HandleCount" NVARCHAR, "TotalProcessorTime" NVARCHAR, "UserProcessorTime" NVARCHAR, "PrivilegedProcessorTime" NVARCHAR, "StartTime" DATETIME, "ExitTime" DATETIME, "Domain" NVARCHAR, "UserName" NVARCHAR, "FileName" NVARCHAR, "Arguments" NVARCHAR, "WorkingDirectory" NVARCHAR, "CreatedTime" DATETIME, PRIMARY KEY ("Id" ASC), CONSTRAINT "PK_Id" UNIQUE ("Id" ASC) )

举例:

今天是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;

有关时间运算和比较函数的官方教程:http://www.sqlite.org/lang_datefunc.html

翻译自官网的中文参考:http://www.cnblogs.com/ygm900/p/4460644.html

SQLite的时间差判断--删除N天前的数据的两种写法的更多相关文章

  1. ElasticSearch 定时批量删除N天前的数据

    描述: 之前我已经完成了使用ElasticSearch.kibana.filebeat.三个工具完成分布式集群收集 分布在各个ip地址上的微服务日志,这样就可以统一的在一个服务器上查看了所有的微服务产 ...

  2. linux命令行删除N天前的数据的命令

    命令:  find . -mtime +N -type f -name "*.log.*" -exec rm -f {} \; 简单解释: find .查询  ; -mtime 规 ...

  3. Delphi Windows API判断文件共享锁定状态(OpenFile和CreateFile两种方法)

    一.概述 锁是操作系统为实现数据共享而提供的一种安全机制,它使得不同的应用程序,不同的计算机之间可以安全有效地共享和交换数据.要保证安全有效地操作共享数据,必须在相应的操作前判断锁的类型,然后才能确定 ...

  4. MySQL中删除数据的两种方法

    转自:http://blog.csdn.net/apache6/article/details/2778878 1. 在MySQL中有两种方法可以删除数据: 一种是delete语句,另一种是trunc ...

  5. oracle删除表数据的两种的方式

    转自:https://blog.csdn.net/qq_37840993/article/details/82490787 平时写sql中我们都会用到删除语句,而平时删除表数据的时候我们经常会用到两种 ...

  6. 判断python字典中key是否存在的两种方法

    今天来说一下如何判断字典中是否存在某个key,一般有两种通用做法,下面为大家来分别讲解一下: 第一种方法:使用自带函数实现. 在python的字典的属性方法里面有一个has_key()方法,这个方法使 ...

  7. shell脚本if判断语句报错[: too many arguments的两种原因

    shell脚本,if判断语句报错[: too many arguments 我遇到过两种情况: 1.第一中情况就是网上大家说的,字符串变量中可能存在空格,shell解析时将其认为是多个参数,再进行判断 ...

  8. sql server创建临时表的两种写法和删除临时表

    --创建.删除临时表 --第一种方式 create table #tmp(name varchar(255),id int) --第二种方式 select count(id) as storyNum ...

  9. (转)js在数组中删除重复的元素自保留一个(两种实现思路)

    例如:var student = [‘qiang','ming','tao','li','liang','you','qiang','tao']; 第一种思路是:遍历要删除的数组arr, 把元素分别放 ...

随机推荐

  1. nginx 内置变量

    http://blog.sina.com.cn/s/articlelist_1834459124_1_1.html  nginx内置变量杂谈 http://nginx.org/en/docs/http ...

  2. PowerDesigner 15进行逆向工程生成数据库图表时,注释的comment的生成,解决PowerDesigner逆向工程没有列注释

    使用PowerDesigner默认配置逆向工程是没有注释(name列为英文,comment列是空的),这样的不方便查看字段具体是什么意义,将注释一同导出,方便查看字段具体的意义,如下图 注释列导出步骤 ...

  3. java使用指定的国际化文件

    java代码: import java.util.Locale; import org.junit.Test; /** * 使用指定的国际化文件 */ public class Demo { @Tes ...

  4. Thread线程中断相关方法

    public class Demo { /* * 线程中断相关方法 * ---------------------------------------------------------------- ...

  5. osg shader 相机观察矩阵逆矩阵 求顶点世界坐标

    uniform mat4 osg_ViewMatrixInverse;//osg内置uniform void main() { vec4 posWorld = osg_ViewMatrixInvers ...

  6. 0710 mux协议的作用(ppp拨号时如何和gprs进行at指令交互)

    ppp拨号使gprs上网的同时如何和gprs模块进行at指令的交互,这是一个问题. 在linux中,ppp拨号上网是内核中支持的,只需要在内核配置中选上. ppp拨号的方式使gprs进行上网与at指令 ...

  7. laravel安装一直报错

    laravel安装一直报错 原因: 1.找到php版本是否对应 2.缺少第三方扩展库vendor 需要composer update 解决链接:https://learnku.com/docs/lar ...

  8. python接口自动化测试(c测试环境的准备)

    接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,工具的使用相对来说都比较简单,重点是要搞清楚项目接口的协议是什么,然后有针对性的进行选择,甚至当 ...

  9. 微信小程序开发笔记01

    微信小程序开发的优势 1,不用安装,即开即用,用完就走.省流量,省安装时间,不占用桌面: 2,体验上虽然没法完全媲美原生APP,但综合考虑还是更优: 3,对于小程序拥有者来说,开发成本更低,他们可以更 ...

  10. 爬虫IP代理中的http与https

    之前使用代理IP,构造的proxies一直都是http模式 proxies={"http": "http://{}".format(ip)} 但是今天遇到的网站 ...