sqlite删除与当前时间差值在10秒以上的记录

原创 2016年05月31日 17:56:01
sqlite> delete    from   test1  where julianday('now')*86400 -julianday(a_date)*
86400>10;

sqlite的最小时间差的单位是天,当然是小数类型的,不是整型的,所以可以乘以86400(=24*3600)来计算相差的秒数

sqlite> select   julianday('2016-05-31') - julianday('2016-06-01');
-1.0
sqlite> select   julianday('2016-05-31') - julianday('2016-06-02');
-2.0
sqlite> select   julianday('2016-06-11') - julianday('2016-06-02');
9.0
sqlite> select   julianday('2016-06-01 13:00:00') - julianday('2016-06-01 12:00:
00');
0.0416666665114462
sqlite> select   julianday('2016-06-01 12:00:20') - julianday('2016-06-01 12:00:
00');
0.000231481622904539
sqlite> select  *  from   test1 order  by   a_date;
2016-04-23 17:43:35
2016-04-31 17:40:35
2016-05-26 19:40:35
2016-05-29 19:40:35
2016-05-30 19:40:35
2016-05-31 17:30:00
2016-05-31 17:30:01
2016-05-31 17:30:02
2016-05-31 17:30:03
2016-05-31 17:30:05
2016-05-31 17:30:15
2016-05-31 17:30:35
2016-05-31 17:40:35
2016-05-31 17:40:35
2016-05-31 19:40:35
2016-06-01 19:40:35
2016-12-01 19:40:35
sqlite> select  *  from   test1  where julianday('now') -julianday(a_date)>1;
2016-05-26 19:40:35
2016-05-29 19:40:35
2016-04-31 17:40:35
2016-04-23 17:43:35
sqlite> select  *  from   test1  where julianday('now')*86400 -julianday(a_date)
*86400>10;
2016-05-30 19:40:35
2016-05-26 19:40:35
2016-05-29 19:40:35
2016-04-31 17:40:35
2016-04-23 17:43:35
sqlite> delete    from   test1  where julianday('now')*86400 -julianday(a_date)*
86400>10;
sqlite> select  *  from   test1 order  by   a_date;
2016-05-31 17:30:00
2016-05-31 17:30:01
2016-05-31 17:30:02
2016-05-31 17:30:03
2016-05-31 17:30:05
2016-05-31 17:30:15
2016-05-31 17:30:35
2016-05-31 17:40:35
2016-05-31 17:40:35
2016-05-31 19:40:35
2016-06-01 19:40:35
2016-12-01 19:40:35
sqlite>
sqlite> create  table   test1(a_date date);
这是建表语句
有一点很重要:在真机上测试,无法这样删除记录!!!!!!!!!

版权声明:本文为博主原创文章,转载请说明出处

SQLite julianday DateTime日期时区问题小记录

最近在忙微博粉丝精灵,特忙,没什么时间写博文了,今天偷偷的简单写点几行吧。   对于MSSQL中常见的DateDiff函数取两个日期间的天数差,在SQLite 中,有一个函数julianday,可...
  • cyq1162
  • cyq1162
  • 2016年11月23日 12:13
  • 796

时间函数(date/time/datetime/julianday/strftime) -- sqlite

这篇文章是根据SQLite官方WIKI里的内容翻译,SQLite 包括以下五个时间函数:   1.date(日期时间字符串,修正符,修正符, ……)   2.time(日期时间字符串,修正符,修正...
  • ccy365263452
  • ccy365263452
  • 2015年07月22日 17:43
  • 2963

SQLite教程(内置日期和时间函数)

SQLite教程: 1. 特殊数据的存储(日期和时间数据类型,布尔类型) 1.内置函数之时间和日期函数的使用...
  • hexingen
  • hexingen
  • 2017年05月10日 19:53
  • 2035

sqlite时间函数及时间处理

Sqlite3支持的数据类型 NULL:The value is a NULL value INTEGER:The value is a signed integer, stored in 1...
  • wuyou1336
  • wuyou1336
  • 2016年07月22日 13:32
  • 1389

Sqlite 时间比较

Sqlite 时间比较
  • wengyupeng
  • wengyupeng
  • 2016年11月27日 17:13
  • 2608

Sqlite数据库对时间进行比较SQL语句

开发工作,在于不断积累,总结经验,持续学习。 最近项目中有这样的需求: 1、删除当前月份前三个月消息(如本月是10月删除7、8、9三个月的消息只保存本月消息)。 2、更新非本月消息为已读消息(如...
  • pys214371027
  • pys214371027
  • 2016年10月13日 14:53
  • 3357

android sqlite3 时间比较语法介绍

sqlite3支持的数据类型: NULL、INTEGER、REAL、TEXT、BLOB 但是,sqlite3也支持如下的数据类型 smallint           16位整数 integer  ...
  • u011467537
  • u011467537
  • 2015年04月11日 11:23
  • 1446

查询距离当前时间5分钟的数据

查询距离当前时间5分钟的数据 最近在做项目的过程中,需要用定时任务查询最近一段时间内数据库更新的数据: SimpleDateFormat sdf=new SimpleDateFormat("yyy...
  • qq_21503199
  • qq_21503199
  • 2016年07月06日 09:42
  • 1388

提升SQLite数据插入效率低、速度慢的方法

前言 SQLite数据库由于其简单、灵活、轻量、开源,已经被越来越多的被应用到中小型应用中。甚至有人说,SQLite完全可以用来取代c语言中的文件读写操作。因此我最近编写有关遥感数据处理的程序的...
  • majiakun1
  • majiakun1
  • 2015年06月23日 16:29
  • 30192

Sqlite之删除超过50条的数据

在应用中,总要对用户的一些操作进行记录,比如播放历史记录,搜索历史记录等,方便用户再次使用。但是这些记录又不能无限的存储,只需要记录最新的50条或者100条就可以了,所以要求应用每插入一条新数据之后,...
  • u014213012
  • u014213012
  • 2017年07月28日 17:08
  • 589
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sqlite删除与当前时间差值在10秒以上的记录
举报原因:
原因补充:

(最多只允许输入30个字)