以下是一些范围类型的示例:
时间范围 (tsrange)
-- 创建包含时间范围的表
CREATE TABLE event_schedule (
event_name VARCHAR(255),
event_time tsrange
);
-- 插入数据
INSERT INTO event_schedule (event_name, event_time) VALUES
('Meeting', '[2023-01-01 10:00:00, 2023-01-01 12:00:00)'),
('Conference', '[2023-02-01 14:00:00, 2023-02-01 18:00:00)');
在上述示例中,event_time 列使用了 tsrange 类型,表示了事件的开始时间和结束时间的范围。
整数范围 (int4range)
-- 创建包含整数范围的表
CREATE TABLE score_range (
player_name VARCHAR(255),
score int4range
);
-- 插入数据
INSERT INTO score_range (player_name, score) VALUES
('Alice', '[100, 200)'),
('Bob', '[150, 250)');
在上述示例中,score 列使用了 int4range 类型,表示了玩家的分数范围。
查询范围数据
-- 查询在某个时间范围内的事件
SELECT * FROM event_schedule
WHERE event_time && '[2023-01-01 11:00:00, 2023-01-01 15:00:00)'::tsrange;
上述查询返回在给定时间范围内的事件。
范围类型允许你以更直观的方式表示和查询有序数据的范围,提高了数据库对于这类数据的处理能力。在范围类型上,你可以执行范围之间的交集、并集、包含等操作。
转载请注明出处:http://www.zyzy.cn/article/detail/8165/PostgreSQL