SQLite关于时间段查询的sql
在SQLite或其它的數(shù)據(jù)庫中,如果要對查詢結(jié)果進行時間段過濾是一個很麻煩的事情,根據(jù)我的工作經(jīng)驗將常用時間段查詢的sql總結(jié)如下:
我們現(xiàn)在的表主要有兩個字段start_time和end_time,經(jīng)常需要判斷開始時間和結(jié)束時間必須在某一個時間段。
1.根據(jù)月查詢sql,假設(shè)要查詢2011年8月的數(shù)據(jù):
?
select * from schedlue where?
datetime( start_time)>=datetime('2011-08-01') and datetime(end_time)<=datetime('2011-09-01')
?
如果還有的數(shù)據(jù)是跨月的數(shù)據(jù),在查詢的時候查詢某個記錄的開始時間和結(jié)束時間段是否覆蓋了當月
select * from schedlue where?
--跨月
((datetime( start_time)<=datetime('2011-08-01') and datetime(end_time)>=datetime('2011-08-01')) or ( datetime(start_time)<=datetime('2011-09-01') and datetime(end_time)>=datetime('2011-09-01')))?
--當月
or (datetime( start_time)>=datetime('2011-08-01') and datetime(end_time)<=datetime('2011-09-01') )
總結(jié)
以上是生活随笔為你收集整理的SQLite关于时间段查询的sql的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用触发器实现SQLite的外键约束
- 下一篇: 今天修改了数据库结构,XSD文件都要重新