range_merge() 是一个系统函数,用于计算包含指定范围的最小范围。
range_merge() 在 PostgreSQL 14 中添加。
用法
range_merge (anyrange,anyrange) →anyrange
range_merge (anymultirange) →anyrange
变更历史
- PostgreSQL 14
multirange变体已添加 (commit 6df7a969)
- PostgreSQL 9.2
- 已添加 (commit 4429f6a9)
示例
range_merge() 的基本用法示例
postgres=# SELECT range_merge('[1,2)'::int4range, '[4,5)'::int4range);
range_merge
-------------
[1,5)
(1 row)
postgres=# SELECT range_merge('{[1,2), [4,5)}'::int4multirange);
range_merge
-------------
[1,5)
(1 row)
提供范围值的顺序无关紧要
postgres=# SELECT range_merge('[4,5)'::int4range, '[1,2)'::int4range);
range_merge
-------------
[1,5)
(1 row)
postgres=# SELECT range_merge('{[4,5), [1,2)}'::int4multirange);
range_merge
-------------
[1,5)
(1 row)
参考资料
- PostgreSQL 文档: 多范围函数
另请参阅
unnest(range)
