sql >> Base de Datos >  >> RDS >> PostgreSQL

NULL frente a `infinity` en los tipos de rango de PostgreSQL

Actualizar :Ver esto más tarde, mejor explicación:

  • ¿Por qué PostgreSQL considera que los límites NULL en los tipos de rango son distintos de los límites infinitos cuando son funcionalmente equivalentes?

NULL hace lo mismo para el operador de superposición && como -infinity o infinity , respectivamente. Cito el manual aquí:

El uso de NULL para cualquiera de los límites hace que el rango sea ilimitado en ese lado.

Pero como valor , NULL sigue siendo distinto de 'infinity' !

SELECT tstzrange('-infinity','infinity') = tstzrange(NULL, NULL);

Devuelve FALSE (no NULL , ¡cuidado!).

Más en este SQLfiddle .