比如我有个用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. mvc 控制器忽略某些方法

    需求:登录信息验证,需要忽略登录注册这些接口的验证,通过给方法加忽略过滤器实现 1.需要忽略的方法加[IgnoreLoginFilter] 2.定义忽略过滤器 public class IgnoreL ...

  2. git使用git-credential-winstore保存https访问密码

    使用 https 方式 clone 一个 git 仓库,每次pull 或者 push 的时候都需要输入用户名和密码. 访问远程Git仓库可以用 SSH 方式和 https 方式,https 每次访问时 ...

  3. OSG相关扩展工程

    https://blog.csdn.net/wang15061955806/article/details/51003803 OSG的相关扩展,OSG针对每个特定应用,也有很多的开发者进行开发和完善, ...

  4. Android的TextView设置padding无效

    I finally found the problem I have to set the background first before setting the padding. Setting t ...

  5. Oracle创建表空间以及用户语句

    记录一下常用的语句,便于以后使用… create tablespace TABLESPACENAMEdatafile 'E:\Data\ORACLEDATA\XXX.dbf' size 200M au ...

  6. docker 应用-4(swarm模式搭建集群)

    swam模式 使用docker的swarm模式,可以很方便的搭建docker engine集群.docker engine是docker 容器的运行时环境,可以在docker engine上build ...

  7. 学习Vue 入门到实战——学习笔记(二)

    闲聊: 哈哈哈!过了好几天才更新博客啦,嘻嘻,马上过年了,大家最近是不是都开心的快飞起来了,小颖好几个朋友公司都已经放假了,可是我们公司要等到腊月29上完班才给放假,哎!心情不美气的很,用我之前大学舍 ...

  8. java项目(学习和研究)

    java项目就是研究,不断的对项目进行迭代,把产品做的越来越好,就是research. 自己想着做一个java项目把,可以类似牛客网,想好自己的预期产品,在设计的过程中可以不断改进和扩展,在做这个项目 ...

  9. 线程的信号量Semaphore

    线程和进程一样也有信号量,一个资源在同一时刻只有规定数量的线程能使用.

  10. 更改oracle归档模式路径

    1.更改归档路径 在ORACLE10G中,默认的归档路径为$ORACLE_BASE/flash_recovery_area.对于这个路径,ORACLE有一个限制,就是默认只能有2G的空间给归档日志使用 ...