On 11/30/18 12:57 PM, Alvaro Herrera wrote:
> This sounds like something you can easily do with range types in
> Postgres. Probably not terribly portable to other DBMSs though.
> https://www.postgresql.org/docs/11/rangetypes.html
Nice hint. Thanks!
PostgreSQL as the application platform is fine. Portability to other
DBMS's isn't a requirement.
The 'numrange' type with the 'overlaps' and 'intersection' operators
seem to cover the fundamental computations in a very natural way.
hanzer=# SELECT numrange(10, 30) && numrange(12, 32);
?column?
----------
t
(1 row)
hanzer=# SELECT numrange(10, 30) * numrange(12, 32);
?column?
----------
[12,30)
(1 row)
How might they be used in an SQL query to solve the problem? I'm an SQL
noob. Seeing a few examples would be very informative. My impression is
that it might require some serious kung-fu. :)