PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

PostgreSQL tsrange:é correto para lower_inf('(-infinity,today)'::tsrange) ser falso?


A confusão decorre de dois significados diferentes de "infinito" aqui.
  1. timestamp tipos aceitam valores especiais para infinity e -infinity .
  2. Os tipos de intervalo têm um conceito geral para intervalos sem limite inferior/superior. As funções para testar são chamadas de lower_inf() e upper_inf() , mas eles estão realmente testando "sem limite" no intervalo. Intervalos sem limite superior/inferior incluir o valor infinity / -infinity para timestamp respectivamente.

O manual:

SQL Fiddle.

Talvez essas funções realmente devam ser chamadas de algo como lower_nobound() e upper_nobound() evitar confusão ...