我有一个包含一些日期范围的 mysql 表,例如:
start: 2015-09-10 end: 2015-09-10
现在,我必须检查另一个日期范围是否在开始结束日期内,即使只有几天。
- 2015-09-02 -> 2015-09-03 超出范围;
- 2015-09-05 -> 2015-09-11 在范围内;
- 2015-09-11 -> 2015-09-12 在范围内;
- ...
我有这些查询,它适用于情况 1 和 2:
SELECT * FROM prenotazione WHERE id_stanza=1 AND (start BETWEEN '2015-09-11' AND '2015-09-12' and end BETWEEN '2015-09-11' AND '2015-09-12' )
对于情况 3,即使 id 给定日期在范围内,查询也不会返回结果。 你能帮我吗?
最佳答案
使用OR
来匹配开始或结束
SELECT * FROM prenotazione
WHERE id_stanza=1 AND
((`start` BETWEEN '2015-09-11' AND '2015-09-12') OR (`end` BETWEEN '2015-09-11' AND '2015-09-12'))
关于mysql - 评估mysql日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32348326/