Gracias Alvaro,

En la etapa del googleo, me encontré un una función de alguien que lo manejaba así con una función de restas; funcionaba bien para números enteros pero no la pude adaptar a tsrange y por eso vine a preguntar por acá. Particularmente en mi caso no tengo preferencia si es un array o un recordset así que voy a investigar esto del ANY OP a ver que sale y que puedo hacer pero, obviamente, Hellmuth me simplifico la vida.

Mil gracias por la ayuda!


On 2017-06-23 14:11, Alvaro Herrera wrote:
Stephen Amell escribió:
Buenos días comunidad postgresista!

Hoy les escribo para consultarles a ver si me dan una idea sobre como
encarar un problema de rangos timestamp

Dado un rango de atención: '["2015-11-27 09:30:00","2015-11-27
18:00:00")'::tsrange
Dado un rango de la duraciónde la atención: '["2015-11-27
10:30:00","2015-11-27 11:00:00")'::tsrange

Necesito obtener el rango de atención libre, que serian dos rangos cortados
por el medio.
Quizás podrías pensar en arrays de rangos, y usar operadores con arrays
(teniendo presente que puedes usar "ANY op" donde el "op" sería un
overlap o intersección).  Debería ser más simple de manejar que lo que
propone Hellmuth ... aunque su solución tiene la ventaja de que ya la
desarrolló ;-)


Responder a