Coc*_*sin 4 postgresql null range infinity postgresql-9.2
PostgreSQL范围类型中'infinity'的含义是什么?指定infinity
或-infinity
作为绑定有什么区别,或NULL
?即,是infinity
指定范围界限是无限的显式形式,而NULL
隐式指定无限界限范围?
请参阅以下示例:
SELECT tstzrange('-infinity','infinity') && tstzrange(NULL, NULL);
?column?
----------
t
SELECT tstzrange('2013-01-01 00:00:00+01', '2013-02-01 00:00:00+01')
&& tstzrange(NULL, '2013-03-01 00:00:00+01');
?column?
----------
t
SELECT tstzrange('2013-01-01 00:00:00+01', '2013-02-01 00:00:00+01')
&& tstzrange('-infinity', '2013-03-01 00:00:00+01');
?column?
----------
t
Run Code Online (Sandbox Code Playgroud)
NULL
对于重叠运算符&&
和/ -infinity
或infinity
分别执行相同的操作.我在这里引用手册:
对任一边界使用NULL会导致范围在该边无限制.
但作为价值,NULL
仍然是不同的'infinity'
!
SELECT tstzrange('-infinity','infinity') = tstzrange(NULL, NULL);
Run Code Online (Sandbox Code Playgroud)
退货FALSE
(不NULL
,请注意!).
更多在这个SQLfiddle中.