Заполняемость строк при генерации поля с датой в Postgresql
Всем привет. Генерирую последовательность дат в диапазоне 10 лет в Postgresql. Столкнулся с проблемой как правильно можно посчитать номер недели в месяце. Неделя начинается с понедельника. Мой запрос выглядит так:
SELECT date '2019-12-31' + INTERVAL AS date_range,
CASE
WHEN DATE_PART(dayofweek, date_range) = 0
THEN 7
ELSE DATE_PART(dayofweek, date_range)
END AS dwn,
DATE_PART(day, date_range) AS dmnr,
(SELECT TO_CHAR(date_range, 'W' )::int WHERE dwn = 1) AS week_month_monday_number,
TO_CHAR(date_range, 'Day') AS week_day_name
FROM generate_series(1, (date '2031-01-01' - date '2020-01-01')) interval;
Когда я получаю результат, то week_month_monday_number заполнено только в cтроках, где день понедельник. Остальные 6 дней в неделе пустые. Может кто нибудь помочь с генерацией week_month_monday_number так, что бы номер недели заполнялся для оставшихся 6 строк в неделе? Варианты которые пробовал до того как создавать тему не сработали и поэтому очень нуждаюсь в помощи.