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.0sqlite> select julianday('2016-05-31') - julianday('2016-06-02');-2.0sqlite> select julianday('2016-06-11') - julianday('2016-06-02');9.0sqlite> select julianday('2016-06-01 13:00:00') - julianday('2016-06-01 12:00:00');0.0416666665114462sqlite> select julianday('2016-06-01 12:00:20') - julianday('2016-06-01 12:00:00');0.000231481622904539sqlite> select * from test1 order by a_date;2016-04-23 17:43:352016-04-31 17:40:352016-05-26 19:40:352016-05-29 19:40:352016-05-30 19:40:352016-05-31 17:30:002016-05-31 17:30:012016-05-31 17:30:022016-05-31 17:30:032016-05-31 17:30:052016-05-31 17:30:152016-05-31 17:30:352016-05-31 17:40:352016-05-31 17:40:352016-05-31 19:40:352016-06-01 19:40:352016-12-01 19:40:35sqlite> select * from test1 where julianday('Now') -julianday(a_date)>1;2016-05-26 19:40:352016-05-29 19:40:352016-04-31 17:40:352016-04-23 17:43:35sqlite> select * from test1 where julianday('Now')*86400 -julianday(a_date)*86400>10;2016-05-30 19:40:352016-05-26 19:40:352016-05-29 19:40:352016-04-31 17:40:352016-04-23 17:43:35sqlite> 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:002016-05-31 17:30:012016-05-31 17:30:022016-05-31 17:30:032016-05-31 17:30:052016-05-31 17:30:152016-05-31 17:30:352016-05-31 17:40:352016-05-31 17:40:352016-05-31 19:40:352016-06-01 19:40:352016-12-01 19:40:35sqlite>
sqlite> create table test1(a_date date);这是建表语句 有一点很重要:在真机上测试,无法这样删除记录!!!!!!!!! 总结
以上是内存溢出为你收集整理的sqlite删除与当前时间差值在10秒以上的记录全部内容,希望文章能够帮你解决sqlite删除与当前时间差值在10秒以上的记录所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)