From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Ron <ronljohnsonjr(at)gmail(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: "two time periods with only an endpoint in common do not overlap" ??? |
Date: | 2021-10-16 04:08:30 |
Message-ID: | e4c9e650-8361-8f8e-2357-e4919e2ed8d7@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | David G. Johnston | 2021-10-16 04:35:04 | Re: "two time periods with only an endpoint in common do not overlap" ??? |
Previous Message | Ron | 2021-10-16 02:42:36 | Re: "two time periods with only an endpoint in common do not overlap" ??? |