Search Postgresql Archives

Re: "two time periods with only an endpoint in common do not overlap" ???

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/15/21 19:42, Ron wrote:

The numeric ranges 0-10 and 10-19 overlap, just as the time ranges 00:01:00-00:00:02:00 overlaps 00:02:00-00:03:00.

*It's the programmer's responsibility* to say what s/he really means, not for "the system" to make that choice.


It is the programmers choice:

--The canonical form.
--No overlap
select int4range(1,3), int4range(3, 5);
 int4range | int4range
-----------+-----------
 [1,3)     | [3,5)

 select int4range(1,3) && int4range(3, 5);
 ?column?
----------
 f

--Making it overlap
select int4range(1,3, '[]'), int4range(3, 5, '[]');
 int4range | int4range
-----------+-----------
 [1,4)     | [3,6)

 select int4range(1,3, '[]') && int4range(3, 5, '[]');
 ?column?
----------
 t


There is no straight time range, you would have to use tsrange or tstzrange. The principle still holds though you can make ranges overlap or not depending on '[)' or '[]'.

--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux