我感到困惑
select date('2016-12-31'), date('2016-12-31','-1 month'), date('2016-12-31','-2 month');
结果是
2016-12-31 2016-12-01 2016-10-31
我错过了什么吗? 我期待
2016-12-31 2016-11-31 2016-10-31
我需要在每个月获得最后一次约会。
答案 0 :(得分:2)
documentation会很清楚:
请注意,“±NNN个月”的工作原理是将原始日期渲染到 YYYY-MM-DD格式,然后将±NNN添加到MM月份值 规范化结果。因此,例如,数据2001-03-31 修改为'1个月'最初收益率为2001-04-31,但4月只有收益率 30天,因此日期标准化为2001-05-01。