Perbarui :Lihat ini nanti, penjelasan yang lebih baik:
- Mengapa PostgreSQL menganggap batas NULL dalam jenis rentang berbeda dari batas tak terbatas padahal secara fungsional setara?
NULL melakukan hal yang sama untuk operator tumpang tindih && sebagai -infinity atau infinity , masing-masing. Saya mengutip manualnya di sini:
Menggunakan NULL untuk kedua terikat menyebabkan rentang menjadi tidak terbatas di sisi itu.
Tapi sebagai nilai , NULL masih berbeda dari 'infinity' !
SELECT tstzrange('-infinity','infinity') = tstzrange(NULL, NULL);
Mengembalikan FALSE (bukan NULL , ingat!).
Selengkapnya di SQLfiddle . ini .