我有一个带有一些日期范围的mysql表,例如:
start: 2015-09-10 end: 2015-09-10
现在,我必须检查另一个日期范围是否在开始日期之内,即使只是几天。
我有这些查询,适用于案例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为给定日期在范围内。 你能救我吗?
答案 0 :(得分:1)
使用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'))