在mysql中获取上个月的日期

时间:2014-03-26 06:16:22

标签: mysql sql date

我需要从1st to current date获取上个月的日期。假设今天的日期是March 25th,我需要从1st to 25th of february获取日期。假设今天的日期是March 30th,我需要将日期从1到28/29th Feb,无论最终的最终日期是否可用。我已经搜索了很多,但没有运气。有人可以帮助我如何完成这个特殊情况?我可以在另一个数据库上执行此操作,但我想在mysql上执行此操作。

基本上我为其他数据库做的是这个 - > date between date(to_char(date(add_months(DATE(sysdate) ,-1)),'YYYY-MM-01 00:00:00')) and date(add_months(DATE(sysdate) ,-1))

2 个答案:

答案 0 :(得分:2)

这应该做你想要的:

WHERE d BETWEEN DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m-01') 
  AND DATE_SUB(CURDATE(), INTERVAL 1 MONTH);

答案 1 :(得分:0)

您可以使用DATE(DATE_SUB(NOW(), INTERVAL 1 MONTH))。这将自动将结果限制在该月的最后一天,因此如果今天的日期是3月30日,则将在2月28日返回。