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

Поиск
Список
Период
Сортировка
От Stanislav Orlenko
Тема Сравнение дат без года
Дата
Msg-id 1287762464.6261.21.camel@stas-desktop
обсуждение исходный текст
Ответы Re: [pgsql-ru-general] Сравнение дат без года  (Dmitriy Igrishin <dmitigr@gmail.com>)
Список 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

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

Спасибо

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

Предыдущее
От: "Andrey N. Oktyabrski"
Дата:
Сообщение: Re: Кто пользовался hstore?
Следующее
От: Dmitriy Igrishin
Дата:
Сообщение: Re: [pgsql-ru-general] Сравнение дат без года