Re: interval origami
Adam Jensen <[email protected]> Fri, 30 Nov 2018 15:19:10 -0500
| Newsgroups | gmane.comp.db.postgresql.sql |
|---|---|
| Message-ID | <[email protected]> |
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. :)