sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL tsrange:är det korrekt att lower_inf('(-infinity,today)'::tsrange) är falskt?

Förvirringen härrör från två olika betydelser av "oändlighet" här.

  1. timestamp typer accepterar speciella värden för infinity och -infinity .
  2. Omfångstyper har ett allmänt koncept för intervall utan nedre/övre gräns. Funktionerna att testa för det kallas lower_inf() och upper_inf() , men de testar verkligen för "no bound" i sortimentet. Områden utan övre/nedre gräns inkluderar värdet infinity / -infinity för timestamp respektive.

Manualen:

SQL-fiol.

Kanske borde dessa funktioner verkligen heta något som lower_nobound() och upper_nobound() för att undvika förvirring ...




  1. Vad är skillnaden mellan en användare och en roll?

  2. Varför är statisk ddl inte tillåtet i PL/SQL?

  3. Hantera primärnyckelkonflikter vid infogning av data i SQLite

  4. Olika representation av UUID i Java Hibernate och SQL Server