I came across an unexpected comparison (tested on PostgreSQL 9.4 and
9.6) for intervals with a large difference in magnitude.


I narrowed it down to this example, where comparisons with this range
give the wrong value:


postgres=# SELECT 

  '1 year'::interval > '3854933 years'::interval,

  '1 year'::interval > '3854934 years'::interval,

  '1 year'::interval > '32618664 years'::interval,

  '1 year'::interval > '32618665 years'::interval;



?column? | ?column? | ?column? | ?column?

----------+----------+----------+----------

f        | t        | t        | f

(1 row)



Is this a bug? Should I not be comparing intervals? It would seem the
interval type has enough information to give the correct answer here.


Regards,



Frazer McLean

Reply via email to