0

我有一个看起来像这样的 MySQL 表:

+-----+------------+
| id  | enddate    |
+------------------+
| 1   | 2012-06-30 |
+------------------+
| 2   | 2012-07-05 |
+------------------+
| 3   | 2012-07-02 |
+------------------+

在我的网站上,我想打印出日期介于以下范围之间的所有行:

今天的日期(我的意思不是固定的,而是查询运行的日期)和提前 2 周

因此,使用上面的示例只会打印第 1 行和第 3 行。

有人对此有解决方案吗?

4

2 回答 2

5

我认为您需要 BETWEEN 比较运算符和一些简单的日期函数:

WHERE enddate BETWEEN CURDATE() AND ADDDATE(CURDATE(), INTERVAL 14 DAY);

http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html#operator_between

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_adddate

于 2012-06-18T05:16:07.487 回答
1

您可以使用

WHERE enddate BETWEEN CURDATE() AND ADDDATE(CURDATE(), INTERVAL 2 WEEK);

Reference

于 2012-06-18T05:23:13.867 回答