Cập nhật :Xem phần này sau, giải thích rõ hơn:
- Tại sao PostgreSQL coi các ranh giới NULL trong các loại phạm vi là khác biệt với các ranh giới vô hạn khi chúng tương đương về mặt chức năng?
NULL
thực hiện điều tương tự đối với toán tử chồng chéo &&
dưới dạng -infinity
hoặc infinity
, tương ứng. Tôi trích dẫn sách hướng dẫn ở đây:
Sử dụng NULL cho một trong hai giới hạn sẽ làm cho phạm vi không bị giới hạn ở phía đó.
Nhưng với tư cách là giá trị , NULL
vẫn khác biệt với 'infinity'
!
SELECT tstzrange('-infinity','infinity') = tstzrange(NULL, NULL);
Trả về FALSE
(không phải NULL
, phiền bạn!).
Thêm trong SQLfiddle này .