Re: How to use daterange type?

Поиск
Список
Период
Сортировка
От Christophe Pettus
Тема Re: How to use daterange type?
Дата
Msg-id 976FC4C7-A6C1-4A5E-B4AF-26AEE0CC61D4@thebuild.com
обсуждение исходный текст
Ответ на How to use daterange type?  (Csanyi Pal <csanyipal@gmail.com>)
Список pgsql-general
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,
oruse a function that determines whether or not a particular day is holiday or not. 

--
-- Christophe Pettus
   xof@thebuild.com



В списке pgsql-general по дате отправления:

Предыдущее
От: Ian Lawrence Barwick
Дата:
Сообщение: Re: How to use daterange type?
Следующее
От: komunca
Дата:
Сообщение: Tunning postgresql.conf