我正在尝试从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 ||
答案 0 :(得分:3)
为什么不使用BETWEEN
SELECT ...
FROM...
WHERE your_date BETWEEN date_start AND date_end
答案 1 :(得分:1)
尝试DATE_FORMAT功能,而不是使用MONTH和DAY。请确认db中的日期为日期格式