Atualizar :Veja isso mais tarde, melhor explicação:
- Por que o PostgreSQL considera os limites NULL em tipos de intervalo como distintos dos limites infinitos quando são funcionalmente equivalentes?
NULL faz a mesma coisa para o operador de sobreposição && como -infinity ou infinity , respectivamente. Cito o manual aqui:
Usar NULL para qualquer um dos limites faz com que o intervalo seja ilimitado nesse lado.
Mas como valor ,
NULL ainda é distinto de 'infinity' ! SELECT tstzrange('-infinity','infinity') = tstzrange(NULL, NULL);
Retorna
FALSE (não NULL , lembre-se!). Mais neste SQLfiddle .