SELECT start_hour AS START_DATE,(start_hour + INTERVAL '1' HOUR) AS END_DATE,to_char(start_hour, 'YYYY/MM/DD HH24')|| ':00' AS start_time,to_char(start_hour + INTERVAL '1' HOUR, 'YYYY/MM/DD HH24')|| ':00' AS end_time
FROM(SELECT TRUNC(TO_DATE('2025-07-11', 'YYYY-MM-DD')) +(LEVEL - 1)/24 AS start_hour FROM DUAL CONNECT BY LEVEL <= (TRUNC(TO_DATE('2025-07-15', 'YYYY-MM-DD')) - TRUNC(TO_DATE('2025-07-11', 'YYYY-MM-DD'))) * 24 + 24)
WHERE TRUNC(start_hour) BETWEEN TO_DATE('2025-07-11', 'YYYY-MM-DD') AND TO_DATE('2025-07-15', 'YYYY-MM-DD')