1

我正在尝试从 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* || *日期开始* || *日期结束* || || 41 || 0000-11-01 || 0000-11-30 ||

4

2 回答 2

3

为什么不使用BETWEEN

SELECT ...
FROM...
WHERE your_date BETWEEN date_start AND date_end
于 2012-12-03T05:23:06.253 回答
1

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

于 2012-12-03T05:29:26.313 回答