Re: "two time periods with only an endpoint in common do not overlap" ???
От | Ron |
---|---|
Тема | Re: "two time periods with only an endpoint in common do not overlap" ??? |
Дата | |
Msg-id | bb79ff9e-acee-c73d-3379-bea13db377b9@gmail.com обсуждение исходный текст |
Ответ на | Re: "two time periods with only an endpoint in common do not overlap" ??? (Adrian Klaver <adrian.klaver@aklaver.com>) |
Ответы |
Re: "two time periods with only an endpoint in common do not overlap" ???
Re: "two time periods with only an endpoint in common do not overlap" ??? |
Список | pgsql-general |
On 10/15/21 11:08 PM, Adrian Klaver wrote: > 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 '[]'. OP refers to the OVERLAP operator (is it an operator), not the tsrange() function. -- Angular momentum makes the world go 'round.
В списке pgsql-general по дате отправления: