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 .