MySQL更改系统日期没有预期的结果

时间:2015-12-04 23:06:30

标签: php mysql date

我正在构建特定于日期的PHP脚本。

此脚本将在其星期日执行特定任务。我已经编写了我的PHP代码,并且我正在尝试测试它。由于今天不是星期天,我将系统日期设置为上周日。问题是我的MySQL查询没有返回预期的结果

SELECT date FROM schedules WHERE name='someName' AND date >= (CURDATE() - INTERVAL 3 DAY )

上面的查询将返回当前日期加减3天的记录。

以下是我得到的输出示例:

2015-11-26
2015-11-29
2015-11-30
2015-12-04
2015-12-02

我需要的结果是:

 2015-11-26
 2015-11-29

另一个问题:

SELECT date FROM schedules WHERE name='someName' AND date >= (CURDATE() -  3 )

上述查询将返回比当前日期早3天的所有日期,不包括当前日期的最后3天。

我只希望它返回当前日期的最后3天。

1 个答案:

答案 0 :(得分:1)

我正在尝试了解您想要的输出。因此,您希望获得当前日期之前不超过3天的日期,以及将来不会有任何日期。

所以'2015-12-04'的结果将是:

2015-12-04
2015-12-03
2015-12-02
2015-12-01

所以也许BETWEEN条款可以解决问题

SELECT date FROM schedules 
WHERE name='someName' 
  AND (date BETWEEN (CURDATE() - INTERVAL 3 DAY ) AND CURDATE() );