On 8/27/19 5: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?

I haven't tried this, but should point you in the right direction:

SELECT SUM(EXTRACT(DOW FROM the_date)) * 8.0 AS work_week_hours
FROM some_table
WHERE EXTRACT(DOW FROM the_date) BETWEEN 1 and 5
  AND the_date BETWEEN '2019-07-01' AND '2019-07-31 23:59:59';


It'll probably (nay, almost definitely) seq scan.

--
Angular momentum makes the world go 'round.


Reply via email to