add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
CREATE TABLE my_table ( c_day ) AS
SELECT LEVEL FROM DUAL CONNECT BY LEVEL <= 31;
31 rows affected
SELECT C_DAY,
LEAST(
TRUNC(TRUNC(SYSDATE) + 210, 'MM') + C_DAY - 1,
LAST_DAY(TRUNC(SYSDATE) + 210)
) AS result
FROM MY_TABLE
ORDER BY c_day
C_DAY RESULT
1 2023-09-01 00:00:00
2 2023-09-02 00:00:00
3 2023-09-03 00:00:00
4 2023-09-04 00:00:00
5 2023-09-05 00:00:00
6 2023-09-06 00:00:00
7 2023-09-07 00:00:00
8 2023-09-08 00:00:00
9 2023-09-09 00:00:00
10 2023-09-10 00:00:00
11 2023-09-11 00:00:00
12 2023-09-12 00:00:00
13 2023-09-13 00:00:00
14 2023-09-14 00:00:00
15 2023-09-15 00:00:00
16 2023-09-16 00:00:00
17 2023-09-17 00:00:00
18 2023-09-18 00:00:00
19 2023-09-19 00:00:00
20 2023-09-20 00:00:00
21 2023-09-21 00:00:00
22 2023-09-22 00:00:00
23 2023-09-23 00:00:00
24 2023-09-24 00:00:00
25 2023-09-25 00:00:00
26 2023-09-26 00:00:00
27 2023-09-27 00:00:00
28 2023-09-28 00:00:00
29 2023-09-29 00:00:00
30 2023-09-30 00:00:00
31 2023-09-30 00:00:00