Если вы хотите, чтобы все дни были до первого понедельника месяца, то вы можете использовать рекурсивный CTE:
with dates as (
select dateadd(day, 1, eomonth('2020-04-29', -1)) as dte
union all
select dateadd(day, 1, dte)
from dates
where datename(weekday, dte) <> 'Sunday'
)
select *, datename(weekday, dte)
from dates;
Это предполагает, что вам нужно 7 дней, когда неделя начинается в понедельник (хотя легко настраивается для обработки, чтобы не возвращать строки.
Здесь - это db <> скрипка.