On 8/27/19 3:27 PM, stan wrote:
I am just starting to explore the power of PostgreSQL's time and date
functionality. I must say they seem very powerful.
I need to write a function that, given a month, and a year as input returns
the "work hours" in that month. In other words something like
8 * the count of all days in the range Monday to Friday) within that
calendar month.
Any thoughts as to the best way to approach this?
Use generate_series:
https://www.postgresql.org/docs/11/functions-srf.html
to generate all the days in the month.
Loop over the days and use EXTRACT:
https://www.postgresql.org/docs/11/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT
to find the dates with a dow(The day of the week as Sunday (0) to
Saturday (6)) or isodow(The day of the week as Monday (1) to Sunday (7))
that falls in Mon-Fri and add to counter.
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx