Re: Interval "1 month" is equals to interval "30 days" - WHY?

Поиск
Список
Период
Сортировка
От Dmitry Koterov
Тема Re: Interval "1 month" is equals to interval "30 days" - WHY?
Дата
Msg-id CA+CZih5uumVA4OUUY5oTH_=OqQwUE2Xvz45TtRFqCUd-1MAmsw@mail.gmail.com
обсуждение исходный текст
Ответ на Interval "1 month" is equals to interval "30 days" - WHY?  (Dmitry Koterov <dmitry@koterov.ru>)
Список pgsql-general
...and even worse:

SELECT ('1 year'::interval) = ('360 days'::interval); --> TRUE :-)
SELECT ('1 year'::interval) = ('365 days'::interval); --> FALSE :-)


On Tue, Aug 7, 2012 at 4:42 PM, Dmitry Koterov <dmitry@koterov.ru> wrote:
Hello.

I've just discovered a very strange thing:

SELECT '1 mon'::interval = '30 days'::interval   --> TRUE???

This returns TRUE (also affected when I create an unique index using an interval column). Why?

I know that Postgres stores monthes, days and seconds in interval values separately. So how to make "=" to compare intervals "part-by-part" and not treat "1 mon" as "30 days"?

P.S.
Reproduced at least in 8.4 and 9.1.

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

Предыдущее
От: Marek Kielar
Дата:
Сообщение: Re: Clogging problem
Следующее
От: Magnus Hagander
Дата:
Сообщение: Re: Where is diskchecker.pl ?