首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL范围类型中的NULL与`infinity`

PostgreSQL范围类型中的NULL与`infinity`
EN

Stack Overflow用户
提问于 2013-03-23 03:05:31
回答 1查看 5.6K关注 0票数 7

在PostgreSQL范围类型中'infinity‘是什么意思?指定infinity-infinity作为边界,还是指定NULL,有什么区别吗?也就是说,infinity是指定范围界限是无限的显式形式,而NULL将隐式指定无限界限范围吗?

请参见以下示例:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-23 04:20:38

更新:稍后查看,更好的解释:

NULL分别为overlap operator -infinityinfinity做同样的事情。我引用the manual here的话

对任何一个界限使用NULL都会导致该范围在该边上是无界的。

但就价值而言,NULL仍然有别于'infinity'

代码语言:javascript
复制
SELECT tstzrange('-infinity','infinity') = tstzrange(NULL, NULL);

返回FALSE (注意,不是NULL!)。

在此中有更多信息。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15578050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档