Вы можете использовать generate_series
.
SELECT generate_series(current_date + 1,
current_date + 2,
interval '1' day)
Документы
В plsql вы можете установить x
в качестве переменной изатем используйте его в своем запросе.
knayak=# \set x 5
knayak=# SELECT generate_series(current_date + 1,
current_date + :x,
interval '1' day);
generate_series
---------------------------
2018-05-19 00:00:00+05:30
2018-05-20 00:00:00+05:30
2018-05-21 00:00:00+05:30
2018-05-22 00:00:00+05:30
2018-05-23 00:00:00+05:30
Вы можете отформатировать даты в желаемом формате с помощью TO_CHAR
SELECT to_char(dt,'DD-MON-YYYY') as dates
FROM generate_series(current_date + 1,
current_date + 2,
interval '1' day) as dt
dates
-------------
19-MAY-2018
20-MAY-2018