1 2 3 4 5 6 7 8 9 | SELECT TO_CHAR(sdt + LEVEL * 2 - 2, 'yyyy-mm-dd' ) || ' 19:00' sdt , CASE WHEN sdt + LEVEL * 2 - 1 <= edt THEN TO_CHAR(sdt + LEVEL * 2 - 1, 'yyyy-mm-dd' ) || ' 07:00' END edt FROM ( SELECT TO_DATE( '2022-01-01' , 'yyyy-mm-dd' ) sdt , TO_DATE( '2022-01-05' , 'yyyy-mm-dd' ) edt FROM dual ) CONNECT BY LEVEL <= CEIL((edt - sdt + 1) / 2) ; |