承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601

ORACLE开发知识:oracle日期分组查询的完全实例

管理员 2023-08-30 08:11:28 互联网圈 0 ℃ 0 评论 1633字 收藏

前言

在做数据报表时,需要对某一时间段分组,以1小时为时间间隔统计各项数据,如9点⑴0点,10点⑴1点…,但是现在有种情况,时间有可能不是整点开始,会有半点的情况,9点30,需要依照9点30⑴0点30,10点30⑴1点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⑵3:30,以21.30作为参照时间,可将时间段划分为21.30⑵2:30,22:30⑵3:30。。

在此基础上查询时间所属时间段

以上通过 factor/24 含义为间隔一小时, 可以通过改变这两个值任意组合时间间隔。

总结

到此这篇关于oracle日期分组查询的文章就介绍到这了,更多相关oracle日期分组查询内容请搜索之前的文章或继续浏览下面的相关文章希望大家以后多多支持!

文章来源:丸子建站

文章标题:ORACLE开发知识:oracle日期分组查询的完全实例

https://www.wanzijz.com/view/75422.html

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信