From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | stan <stanb(at)panix(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Work hours? |
Date: | 2019-08-27 22:59:12 |
Message-ID: | 499b1af5-5be9-2639-2236-a7329ee5689d@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Paul A Jungwirth | 2019-08-27 22:59:55 | Re: Work hours? |
Previous Message | Ron | 2019-08-27 22:49:41 | Re: Work hours? |