PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

NULL vs. 'infinito' nei tipi di intervallo PostgreSQL

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 .