Mettre à jour :Voir plus tard, meilleure explication :
- Pourquoi PostgreSQL considère-t-il que les limites NULL dans les types de plage sont distinctes des limites infinies alors qu'elles sont fonctionnellement équivalentes ?
NULL
fait la même chose pour l'opérateur de chevauchement &&
comme -infinity
ou infinity
, respectivement. Je cite le manuel ici :
L'utilisation de NULL pour l'une ou l'autre limite rend la plage illimitée de ce côté.
Mais comme valeur , NULL
est toujours distinct de 'infinity'
!
SELECT tstzrange('-infinity','infinity') = tstzrange(NULL, NULL);
Renvoie FALSE
(pas NULL
, attention !).
Plus dans ce SQLfiddle .