--pg支持范围类型
• int4range — Range of integer
• int8range — Range of bigint
• numrange — Range of numeric
• tsrange — Range of timestamp without time zone
• tstzrange — Range of timestamp with time zone
• daterange — Range of date
--范围时间戳
CREATE TABLE reservation (room int, during tsrange);
--插入范围内时间
INSERT INTO reservation VALUES
(1108, '[2010-01-01 14:30, 2010-01-01 15:30)');
--正无空大,负无穷小 -infinity 代表无穷小
INSERT INTO reservation VALUES
(1109, '[2010-01-01 14:30,"infinity" )'),(1110, '["-infinity",2010-01-01 14:30)');
postgres=# select * from reservation ;
room | during
------+-----------------------------------------------
1108 | ["2010-01-01 14:30:00","2010-01-01 15:30:00")
1109 | ["2010-01-01 14:30:00",infinity)
1110 | [-infinity,"2010-01-01 14:30:00")
-- Containment 范围内是否包含某一个值
SELECT int4range(10, 20) @> 3;
-- Ov
postgresql数据类型
最新推荐文章于 2024-07-19 15:48:18 发布
本文介绍了PostgreSQL中支持的范围类型,如int4range、tsrange等,并通过示例展示了如何创建、插入和查询范围类型数据。还讨论了范围类型的特性,包括范围包含、重叠检查、求范围上限、交集计算以及判断范围是否为空。同时,讲解了如何自定义范围类型和差异化函数,以及创建GiST和SP-GiST索引。
摘要由CSDN通过智能技术生成