Сравнение дат без года

From: Stanislav Orlenko <orlenko(dot)stas(at)gmail(dot)com>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Сравнение дат без года
Date: 2010-10-22 15:47:44
Message-ID: 1287762464.6261.21.camel@stas-desktop
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

Приветствую
Не могу решить следующую задачу. Надо сравнить интервалы дат без года,
пересекаются ли они. В документации нашел оператор OVERLAPS.

К примеру вот такой запрос работает как надо:
SELECT
(TO_DATE('10-15', 'MM-DD'), TO_DATE('10-25', 'MM-DD')) OVERLAPS
(TO_DATE('10-20', 'MM-DD'), TO_DATE('11-30', 'MM-DD'));

true

Т. е. интервалы с 15 Октября - 25 Октября и 20 Октября - 30 Ноября
пересекаются.

НО, если интервал(ы) проходят через Новый Год - проблема.
К примеру если сравнить интервалы с 15 Декабря - 2 Января и 4 Января -
10 Января. При следующем запросе:

SELECT
(TO_DATE('12-15', 'MM-DD'), TO_DATE('01-02', 'MM-DD')) OVERLAPS
(TO_DATE('01-04', 'MM-DD'), TO_DATE('01-10', 'MM-DD'));

true

Хотя интервалы не пересекаются. Судя по всему постгрес сравнивает 01.02
- 12.15 и 01.04 - 01.10

У кого какие мысли как победить проблему если интервал проходит через
Новый Год?

Спасибо

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Dmitriy Igrishin 2010-10-22 20:51:24 Re: [pgsql-ru-general] Сравнение дат без года
Previous Message Andrey N. Oktyabrski 2010-10-19 14:33:43 Re: Кто пользовался hstore?