从数据库中搜索两个日期之间的记录

时间:2012-12-03 05:18:51

标签: php mysql date calendar datepicker

我正在尝试从mysql中获取记录,这些记录包含在两个日期之间的某个时间段内(这两个日期分别是date_start,date_end并存储在两个不同的列中)。

我现在在我的选择查询中所做的是:

   .. WHERE MONTH(date_start) >= '".$month_start."' and DAY(date_start) >= '".$day_start."'" AND MONTH(date_end) <= '".$month_end."' and DAY(date_end) <= '".$day_end."'"

该查询有效但仅在某些情况下,完全没有!

有什么建议吗?

表格示例:

id_period; DATE_START; DATE_END; 27; 0000-04-02; 0000-05-31;

|| * id_period * || * date_start * || * date_end * || || 41 || 0000-11-01 || 0000-11-30 ||

2 个答案:

答案 0 :(得分:3)

为什么不使用BETWEEN

SELECT ...
FROM...
WHERE your_date BETWEEN date_start AND date_end

答案 1 :(得分:1)

尝试DATE_FORMAT功能,而不是使用MONTH和DAY。请确认db中的日期为日期格式