我需要从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))
答案 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日返回。