1. 首页
  2. SQL

查询时间重合,现有startTime和endTime两个字段,查询 start 和 end 与 startTime,endTime 有重合的数据

SQL查询时间重合

在SQL中,如果你想查询时间段(startend)与给定的时间段(startTimeendTime)有重合的数据,可以使用以下逻辑:

两个时间段 [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 是你要查询的表的名称。这个查询会返回所有 startend 与给定的 startTimeendTime 有重合的记录。

详细解释:

  • start < endTime:表示 startendTime 之前。

  • end > startTime:表示 endstartTime 之后。

只要这两个条件同时成立,就说明这两个时间段是重合的。


TOP