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

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: "two time periods with only an endpoint in common do not overlap" ???
Дата
Msg-id e4c9e650-8361-8f8e-2357-e4919e2ed8d7@aklaver.com
обсуждение исходный текст
Ответ на Re: "two time periods with only an endpoint in common do not overlap" ???  (Ron <ronljohnsonjr@gmail.com>)
Ответы Re: "two time periods with only an endpoint in common do not overlap" ???  (Ron <ronljohnsonjr@gmail.com>)
Список 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.klaver@aklaver.com



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

Предыдущее
От: Ron
Дата:
Сообщение: Re: "two time periods with only an endpoint in common do not overlap" ???
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: "two time periods with only an endpoint in common do not overlap" ???