Task Table
id name start_date expiry_date
1 Task 1 09-05-2016 11-05-2016
2 Task 2 10-05-2016 13-05-2016
3 Task 3 11-05-2016 12-05-2016
4 Task 4 17-05-2016 20-05-2016
5 Task 5 18-05-2016 26-05-2016
範囲の各日付がstart_dateとexpiry_dateの間にある特定の日付範囲からすべてのタスクを見つける必要があります。入力が2016年10月5日から2016年5月12日であるとします。
id name start_date expiry_date
1 Task 1 09-05-2016 11-05-2016
2 Task 2 10-05-2016 13-05-2016
3 Task 3 11-05-2016 12-05-2016
この条件を使用して、2つの日付範囲が重複しているかどうかを確認できます。
WHERE
StartA <= EndB
AND EndA >= StartB
クエリは次のようになります。
SELECT *
FROM tbl
WHERE
start_date <= '12-05-2016'
AND expiry_date >= '10-05-2016'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加