【问题标题】:MYSQL - Select Query Between DATE_ADD and DATE_SUBMYSQL - 在 DATE_ADD 和 DATE_SUB 之间选择查询
【发布时间】: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)
";

【问题讨论】:

    标签: php mysql date


    【解决方案1】:

    我自己不是 php 专家,但如果有比我注意到的更多的东西,那么 :day 字符串周围只有一个引号。最好查看输出以验证 start_date 和 end_date 是什么

    【讨论】:

      猜你喜欢
      • 2013-03-16
      • 2016-09-15
      • 2011-08-10
      • 2023-03-02
      • 1970-01-01
      • 2016-01-16
      • 2019-09-15
      • 2011-10-14
      • 2011-05-08
      相关资源
      最近更新 更多