PG 数据库时间字段 开始时间和结束时间,判断和查询条件的开始和截止时间存在交集,SQL如何编写?
在 PostgreSQL 中,如果你想要查询那些时间段(由 开始时间 和 结束时间 定义)与给定的时间段有交集的记录,可以使用 SQL 的时间范围类型或者简单的条件语句来实现
使用 BETWEEN 和逻辑运算符
假设你的表名是 events,开始时间字段为 start_time,结束时间字段为 end_time,而你要检查的时间段是 query_start_time 和 query_end_time。
你可以用以下 SQL 查询来找到所有与给定时间段有交集的记录:
SELECT *
FROM events
WHERE start_time <= query_end_time
AND end_time >= query_start_time;
备注:是否包含等于,根据实际场景灵活调整下。