Aggiorna :Vedi questo più avanti, una migliore spiegazione:
- Perché PostgreSQL considera i limiti NULL nei tipi di intervallo distinti dai limiti infiniti quando sono funzionalmente equivalenti?
NULL fa la stessa cosa per l'operatore di sovrapposizione && come -infinity o infinity , rispettivamente. Cito il manuale qui:
L'utilizzo di NULL per entrambi i limiti fa sì che l'intervallo sia illimitato su quel lato.
Ma come valore , NULL è ancora distinto da 'infinity' !
SELECT tstzrange('-infinity','infinity') = tstzrange(NULL, NULL);
Restituisce FALSE (non NULL , badate bene!).
Maggiori informazioni in questo SQLfiddle .