oracle 查询 间隔时间,oracle 查询出一段时间内连续时间间隔的记录集

在实际工作中,有时候要按时间统计一些数据,但数据库里的数据不一定是连续的,按时间分组的话,就会形成时间断档,为了让显示的结果能形成连续的时间记录,

通常的做法就是先形成一个一段时间内连续时间间隔的记录集,再跟数据库里的查询结果连接就可以了。

下面给出查询出一段时间内连续时间间隔的SQL语句:

SELECT to_date('2013-10-01', 'yyyy-mm-dd') +

numtodsinterval(rownum - 1, 'hour')

FROM DUAL

CONNECT BY ROWNUM <= ((to_date('2013-10-02', 'yyyy-mm-dd') -

to_date('2013-10-01', 'yyyy-mm-dd') + 1) * 24)

结果如下:

12013/10/1

22013/10/1 1:00:00

32013/10/1 2:00:00

42013/10/1 3:00:00

52013/10/1 4:00:00

62013/10/1 5:00:00

72013/10/1 6:00:00

82013/10/1 7:00:00

92013/10/1 8:00:00

102013/10/1 9:00:00

112013/10/1 10:00:00

122013/10/1 11:00:00

132013/10/1 12:00:00

142013/10/1 13:00:00

152013/10/1 14:00:00

162013/10/1 15:00:00

172013/10/1 16:00:00

182013/10/1 17:00:00

192013/10/1 18:00:00

202013/10/1 19:00:00

212013/10/1 20:00:00

222013/10/1 21:00:00

232013/10/1 22:00:00

242013/10/1 23:00:00

252013/10/2

262013/10/2 1:00:00

272013/10/2 2:00:00

282013/10/2 3:00:00

292013/10/2 4:00:00

302013/10/2 5:00:00

312013/10/2 6:00:00

322013/10/2 7:00:00

332013/10/2 8:00:00

342013/10/2 9:00:00

352013/10/2 10:00:00

362013/10/2 11:00:00

372013/10/2 12:00:00

382013/10/2 13:00:00

392013/10/2 14:00:00

402013/10/2 15:00:00

412013/10/2 16:00:00

422013/10/2 17:00:00

432013/10/2 18:00:00

442013/10/2 19:00:00

452013/10/2 20:00:00

462013/10/2 21:00:00

472013/10/2 22:00:00

482013/10/2 23:00:00

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值