在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中文網其他相關文章!