Hi
For a particular sequence I needed to do (schedule 2nd monday in month for
coming year) I created the following query

    select to_char(min(date::date) + interval '1 week','DD/MM/YYYY')  date
--gets first date for day of month (monday in this case) then adds week and
finally formats it to desired date string

    from generate_series(
  '2018-12-01'::date,
--start date
  '2020-12-01'::date,
--end date
  '1 day'::interval
    ) date

where extract(dow from date) =1
--sets day of week
    GROUP BY (extract(year from date)*100)+extract(month from date)
--groups by month and year
ORDER BY cast(min(date) as date)
--sets order back to date

I couldn't see anything on google so thought I'd share it

Mike

Reply via email to