在 SQL 中查找两个表之间重叠的时间间隔
在具有两个包含开始和结束时间字段的表的数据库中,通常有必要识别时间间隔相交的行。这个问题提供了一个使用 WHERE 子句在 SQL Server 2005 中有效查找此类重叠的解决方案。
解决方案:
以下查询可用于查找重叠时间表 1 和 中的行之间的间隔table2:
SELECT * FROM table1,table2 WHERE table2.start <= table1.end AND (table2.end IS NULL OR table2.end >= table1.start)
解释:
查询使用 JOIN 条件来比较两个表中的时间间隔。 WHERE 子句使用两个条件:
此 WHERE 子句有效确定第 2 行的时间间隔与第 1 行的时间间隔是否相交。通过使用联接,查询可以高效地检索行来自存在此类重叠的两个表。
以上是如何查找两个 SQL 表之间重叠的时间间隔?的详细内容。更多信息请关注PHP中文网其他相关文章!