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@aklaver.com