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
У кого какие мысли как победить проблему если интервал проходит через
Новый Год?
Спасибо
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? |