【发布时间】:2013-03-14 21:50:17
【问题描述】:
我的mysql预订表bookings有一个预订如下:
start_date = 2013-03-04
end_date = 2013-03-08
我想检查特定日期(在本例中为 2013-03-04)是否介于预订的开始日期和结束日期之间 - 但我想在开始日期上增加一天并减去 1 天从结束日期开始。
所以不要在 2013-03-04 和 2013-03-08 之间搜索 我想在 2013-03-05 和 2013-03-07 之间搜索
下面的查询从结束日期减去 1 天,但将开始日期保留为 04。下面的搜索应该没有结果,但它仍然使用 04 作为开始日期,并给出了该预订的结果。它基本上是在 [04] [05] [06] [07] 之间搜索,什么时候应该做 [05] [06] [07]
$fd_query_params = array(
':day' => '2013-03-04
);
$query = "
SELECT
*
FROM
bookings as bb
WHERE
:day BETWEEN
DATE_ADD(bb.start_date, INTERVAL 1 DAY)
AND
DATE_SUB(bb.end_date, INTERVAL 1 DAY)
";
【问题讨论】: