前言
在做數據報表時,需要對某一時間段分組,以1小時為時間間隔統計各項數據,如9點-10點,10點-11點…,但是現在有種情況,時間有可能不是整點開始,會有半點的情況,9點30,需要按照9點30-10點30,10點30-11點30分組統計
實現
以時間范圍起始時間作為參照時間,計算與其差值(分)/所需時間間隔(1小時)
得出值作為分組依據。
例子
select xx,
floor(
floor(
(refDate-to_date('2021-02-05 08:30','yyyy-MM-dd hh24:mi:ss'))
* 24 * 60) / 60
) factor
where refDate >=to_date('2021-02-05 08:30','yyyy-MM-dd hh24:mi:ss')
and refDate =....
floor:取整用
refDate:每條數據中的日期字段
2021-02-05 08:30:參照時間
factor:算出的分組依據

以上查詢范圍是21:30-23:30,以21.30作為參照時間,可將時間段劃分為21.30-22:30,22:30-23:30。。
在此基礎上查詢時間所屬時間段

以上通過 factor/24 含義為間隔一小時, 可以通過改變這兩個值任意組合時間間隔。
總結
到此這篇關于oracle日期分組查詢的文章就介紹到這了,更多相關oracle日期分組查詢內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- oracle日期時間型timestamp的深入理解
- Oracle 獲取上周一到周末日期的查詢sql語句
- Oracle 函數大全[字符串函數,數學函數,日期函數]
- Oracle插入日期數據常見的2個問題和解決方法
- oracle查看當前日期是第幾個星期的方法
- Oracle to_char 日期轉換字符串語句分享
- 詳解oracle 日期格式(總結)
- oracle 日期時間函數使用總結
- ORACLE 毫秒與日期的相互轉換示例
- oracle 日期函數集合(集中版本)