1、獲取當前時間的前24小時的各小時時間段
select to_char(to_date(to_char(sysdate - (rownum - 1) / 24,'yyyy-mm-dd hh24') || ':00:00','yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') totaldate from dual connect by rownum <= 24 order by totaldate desc
2、獲取某天的0點到24點的各小時時間段
select TO_CHAR(to_date('2019-01-28','yyyy-mm-dd') + (rownum - 1) / 24,'yyyy-mm-dd hh24:mi:ss') TIMES from DUAL connect by level <= 24
3、獲取0點到當前時間的小時段
select TO_CHAR(to_date('2019-01-28','yyyy-mm-dd') + (rownum - 1) / 24,'yyyy-mm-dd hh24:mi:ss') TIMES from DUAL connect by level <= to_char(sysdate + 1 / 24,'hh24')