From: | Ron <ronljohnsonjr(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Work hours? |
Date: | 2019-08-27 22:49:41 |
Message-ID: | 5105f7f5-cf86-eab5-ff1a-5283ca271990@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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.
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2019-08-27 22:59:12 | Re: Work hours? |
Previous Message | stan | 2019-08-27 22:27:41 | Work hours? |