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