Search Postgresql Archives

Re: How to use daterange type?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mar 16, 2013, at 2:05 PM, Csanyi Pal wrote:

> So how can I use this table further eg. to get dates of the school days
> but without Saturdays and Sundays?

You can't do that directly (that kind of calendar operation is outside of the scope of a range type).  You can, however, easily write selects that handle that:

postgres=# SELECT count(*) 
postgres-#    FROM generate_series(lower('[2012-09-01, 2012-12-24]'::daterange)::timestamp, upper('[2012-09-01, 2012-12-24]'::daterange)::timestamp, '1 day') as day 
postgres-#    WHERE EXTRACT(dow FROM day) BETWEEN 1 AND 5;
 count 
-------
    82
(1 row)


In cases where you have more complex calendars (like lists of bank holidays), you could join against a table of them, or use a function that determines whether or not a particular day is holiday or not.

--
-- Christophe Pettus
   xof@xxxxxxxxxxxx



-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux