[英]Sequelize Query to find all records that falls in between date range
[英]SQL query to find all Data by date range which falls between two dates
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 之间。 假设输入是 10-05-2016 到 12-05-2016。
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
您可以使用此条件来检查两个日期范围是否重叠:
WHERE
StartA <= EndB
AND EndA >= StartB
您的查询应该是:
SELECT *
FROM tbl
WHERE
start_date <= '12-05-2016'
AND expiry_date >= '10-05-2016'
希望 start_date 总是小于 expiry_date
SELECT * FROM Task WHERE start_date <= '12-05-2016' AND expiry_date >= '10-05-2016'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.