SQL查询时间重合
在SQL中,如果你想查询时间段(start
和 end
)与给定的时间段(startTime
和 endTime
)有重合的数据,可以使用以下逻辑:
两个时间段 [startTime, endTime]
和 [start, end]
有重合的条件是:
start
在[startTime, endTime]
之间,或者end
在[startTime, endTime]
之间,或者[startTime, endTime]
在[start, end]
之间
因此,你可以使用以下 SQL 查询来实现:
SELECT *
FROM your_table
WHERE (start < endTime AND end > startTime);
这里的 your_table
是你要查询的表的名称。这个查询会返回所有 start
和 end
与给定的 startTime
和 endTime
有重合的记录。
详细解释:
start < endTime
:表示start
在endTime
之前。end > startTime
:表示end
在startTime
之后。
只要这两个条件同时成立,就说明这两个时间段是重合的。