在 MySQL 中获取上个月的日期,可以使用 DATE_SUB 函数和 DATE_FORMAT 函数的结合。
具体做法如下:
SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m-%d');
这个语句中,NOW() 函数获取当前日期和时间,DATE_SUB 函数用于减去一个时间间隔,这里是 1 个月。然后,DATE_FORMAT 函数用于将结果格式化成 %Y-%m-%d 的形式,即年-月-日。
执行上述语句,即可获取上个月的日期。例如,如果今天是 2023 年 2 月 25 日,则上个月的日期就是 2023 年 1 月 25 日。
需要注意的是,上述方法获取的是当前日期往前推一个月的日期,而不是上一个完整的月份的日期。如果需要获取上一个完整的月份的日期,可以使用 DATE_FORMAT 函数和 LAST_DAY 函数的结合,如下所示:
SELECT DATE_FORMAT(LAST_DAY(DATE_SUB(NOW(), INTERVAL 2 MONTH)), '%Y-%m-%d');
这个语句中,DATE_SUB 函数减去了 2 个月的时间间隔,因为 LAST_DAY 函数返回的是指定日期所在月份的最后一天,所以需要减去两个月才能得到上一个完整的月份的最后一天。然后,DATE_FORMAT 函数用于将结果格式化成 %Y-%m-%d 的形式,即年-月-日。
执行上述语句,即可获取上一个完整月份的最后一天的日期。例如,如果今天是 2023 年 2 月 25 日,则上一个完整月份的最后一天的日期就是 2023 年 1 月 31 日。