MYSQL - 在DATE_ADD和DATE_SUB之间选择查询

时间:2013-03-14 21:50:18

标签: php mysql date

我在我的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)
";

1 个答案:

答案 0 :(得分:0)

不是我自己的PHP专家,但是应该有超过我注意到:day字符串周围只有一个引号。最好看一下输出来验证start_date和end_date是什么