Sqlite 时间段查询

来源:互联网 发布:linux 编译java 编辑:程序博客网 时间:2024/06/05 06:13

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
原创粉丝点击