微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLite 按照日期分组


使用这个format ('%Y-%m-%d')查询对应的年月日的分组

查询2015年的所有数据

select*frommytablewherestrftime('%Y',datatime) ='2015'

查询2015年9月的所有数据(注意格式一定要是yyyy-MM,不能使用2015-9)

select*frommytablewherestrftime('%Y-%m',datatime) ='2015-09'

查询2015年9月23号的所有数据同理推断为

'%Y-%m-%d',254)">'2015-09-23'


以下这个语句是:取出月份,并加上2个月的查询结果,满足代码中循环的需要

select * from mytable where strftime('%m',datatime, '+2 months') = '12'


以下的数据就可以满足按照年来进行分组查询

SELECT count(*) from mytable GROUP BY strftime('%Y',datatime)




  1. strftime时间字串格式化
  2. %ddayofmonth:00
  3. %ffractionalseconds:SS.SSS
  4. %Hhour:00-24
  5. %jyear:001-366
  6. %JJuliandaynumber
  7. %mmonth:01-12
  8. %Mminute:00-59
  9. %ssecondssince1970-01-01
  10. %sseconds:00-59
  11. %wofweek0-6withSunday==0
  12. %Wweekyear:00-53
  13. %Yyear:0000-9999
  14. %%%
  15. 以下结果是等价的
  16. date(...)<--->strftime('%Y-%m-%d',...)
  17. time(...)<--->strftime('%H:%M:%s',...)
  18. datetime(...)<--->strftime('%Y-%m-%d%H:%M:%s',108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> julianday(...)<--->strftime('%J',108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> 再看看修饰符:
  19. 1.NNNdays--加或减N天
  20. 2.NNNhours----加或减N小时
  21. 3.NNNminutes--加或减N分钟
  22. 4.NNN.NNNNseconds----加或减N秒
  23. 5.NNNmonths--加或减N月
  24. 6.NNNyears--加或减N年
  25. 7.startmonth--一月的开始的时间
  26. 8.startyear--一年开始的时间
  27. 9.startday--一天开始的时间
  28. 10.weekdayN--查看本周礼拜N是那天,1,2,3,4,5,6,0分别代表礼拜一到礼拜天,礼拜天

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐