Query a list of hours based on start time and end time:
SELECT TO_DATE(START_TIME, 'YYYY-MM-DD HH24:MI:SS') + (LEVEL - 1) / 24 AS DATETIME FROM DUAL CONNECT BY LEVEL <= (TO_DATE(END_TIME, 'YYYY-MM-DD HH24:MI:SS') - TO_DATE(START_TIME, 'YYYY-MM-DD HH24:MI:SS')) * 24 + 1
Query a list of dates based on start time and end time:
SELECT TO_DATE(START_DATE, 'YYYY-MM-DD') + (LEVEL - 1) AS DATETIME FROM DUAL CONNECT BY LEVEL <= (TO_DATE(END_DATE, 'YYYY-MM-DD') - TO_DATE(START_DATE, 'YYYY-MM-DD')) + 1