1. 首页
  2. SQL

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

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 之后。

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


TOP