gpt4 book ai didi

postgresql - 使用 Postgresql Daterange 类型而不是两个 Date 字段有什么好处?

转载 作者:行者123 更新时间:2023-11-29 12:44:03 24 4
gpt4 key购买 nike

我正在使用 PostgreSQL 9.4,今天我发现了 Daterange 类型。到目前为止,我使用了一个字段 startDateTime 和另一个字段 startEndTime,那么改用 Daterange 类型有什么好处?

最佳答案

startDateTimeendDateTime 做不到的事,用 tsrange(或 >daterangedate)。然而,有相当多的operators on range types这使得编写查询更加简洁易懂。两个范围之间的重叠 &&、包含 @> 和邻接 -|- 等运算符对于日期和时间范围特别有用。范围类型的一大好处是您可以应用 gist index使搜索速度更快。

例如,查找某个时间范围内发生事件的所有行:

开始/结束

SELECT *
FROM events
WHERE startDateTime >= '2016-01-01'::timestamp
AND endDateTime < '2016-01-19'::timestamp;

范围

SELECT *
FROM events
WHERE startEndRange <@ tsrange('2016-01-01'::timestamp, '2016-01-19'::timestamp);

关于postgresql - 使用 Postgresql Daterange 类型而不是两个 Date 字段有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34889644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com