Sqlite 时间段查询

  • Post author:
  • Post category:其他


1.首先创建一个数据库

CREATE TABLE date_tbl (
            [_id] integer primary key autoincrement, 
            [date] date default (datetime('now', 'localtime')), 
            [time] time default (datetime('now', 'localtime')), 
            [event] text not null);
 其中[date]字段为日期格式(2017-07-11 默认为当前日期), [time]字段为时间格式(18:00:00 默认为当前时间)

2.查询今天内的数据

select * from date_tbl where [date]>= date('now', 'localtime',  'start of day')

3.查询本周内的数据

select * from date_tbl where [date]>= date('now', 'localtime', 'weekday 1', '-7 day', 'start of day')

4.查询上一周的数据

select * from date_tbl where [date]>= date('now', 'localtime', 'weekday 1', '-14 day', 'start of day') and [date]< date('now', 'localtime', 'weekday 1', '-7 day', 'start of day') 

5.查询所有早上9:00之前的数据

select * from date_tbl time([time]) < time('09:00:00') 

6.查询今天早上9:00之前的数据

select * from date_tbl time([time]) < time('09:00:00') and [date] >= date('now', 'localtime',  'start of day')

7.查询本周内的数据和对应的星期几

select strftime("%w", [date]) as week, [event] from date_tbl where [date]>= date('now', 'localtime', 'weekday 1', '-7 day', 'start of day') order by week



版权声明:本文为u012156163原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。