PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

PostgreSQL tsrange:правилно ли е, че lower_inf('(-infinity,today)'::tsrange) е невярно?

Объркването произтича от две различни значения на „безкрайност“ тук.

  1. timestamp типове приемат специални стойности за infinity и -infinity .
  2. Типовете диапазони имат обща концепция за диапазони без долна/горна граница. Функциите за тестване за него се наричат ​​lower_inf() и upper_inf() , но те наистина тестват за „без граници“ в диапазона. Диапазони без горна/долна граница включват стойността infinity / -infinity за timestamp съответно.

Ръководството:

SQL Fiddle.

Може би тези функции наистина трябва да се наричат ​​нещо като lower_nobound() и upper_nobound() за да избегнете объркване ...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Извадете две заявки от една и съща таблица

  2. SQL JOIN в PostgreSQL - различен план за изпълнение в клаузата WHERE отколкото в клаузата ON

  3. Как да създадете SQL изглед с SQLAlchemy?

  4. PostgreSQL преобразуващ масив, върнат от функция в колони

  5. Необходимо е да се създаде тригер, който увеличава стойност в таблица след вмъкване