使用这个format ('%Y-%m-%d')来查询对应的年月日的分组
查询2015年的所有数据
select * from mytable where strftime('%Y', datatime) = '2015'
查询2015年9月的所有数据(注意格式一定要是yyyy-MM, 不能使用2015-9)
select * from mytable where strftime('%Y-%m', datatime) = '2015-09'
查询2015年9月23号的所有数据同理推断为
select * from mytable where strftime('%Y-%m-%d', datatime) = '2015-09-23'
以下这个语句是:取出月份,并加上2个月的查询结果,满足代码中循环的需要
select * from mytable where strftime('%m', datatime, '+2 months') = '12'
以下的数据就可以满足按照年来进行分组查询
SELECT count(*) from mytable GROUP BY strftime('%Y', datatime)
以下可以实现查询数据库表中有几个不同的年份
SELECT DISTINCT strftime('%Y', TimeField) as year from YourTable
- strftime时间字串格式化
- %d day of month: 00
- %f fractional seconds: SS.SSS
- %H hour: 00-24
- %j day of year: 001-366
- %J Julian day number
- %m month: 01-12
- %M minute: 00-59
- %s seconds since 1970-01-01
- %S seconds: 00-59
- %w day of week 0-6 with Sunday==0
- %W week of year: 00-53
- %Y year: 0000-9999
- %%%
- 以下结果是等价的
- date(...) <---> strftime('%Y-%m-%d', ...)
- time(...) <---> strftime('%H:%M:%S', ...)
- datetime(...) <---> strftime('%Y-%m-%d %H:%M:%S', ...)
- julianday(...) <---> strftime('%J', ...)
- 再看看修饰符:
- 1. NNN days --加或减N天
- 2. NNN hours ----加或减N小时
- 3. NNN minutes --加或减N分钟
- 4. NNN.NNNN seconds ----加或减N秒
- 5. NNN months --加或减N月
- 6. NNN years --加或减N年
- 7. start of month --一月的开始的时间
- 8. start of year --一年开始的时间
- 9. start of day --一天开始的时间
- 10. weekday N --查看本周礼拜N是那天, 1,2,3,4,5,6,0分别代表礼拜一到礼拜天,礼拜天