本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

3|月末最后一天的情况(计算从日数多的月到日数较少的月)

在以日数多的月末最后一天开始,计算N个月后(N个月前)的日期,且该日期所在月为日数少的月,返回N个月后(N个月前)月末最后一天。

例如,3月31日的一个月后为4月30日。3月31日的一个月前,返回2月最后一天,且要考虑闰年的情况。

实际执行结果如下:

DATEADD(month, 1, '2015/3/31'), --返回 2015-02-28 00:00:00.000 DATEADD(month, -1, '2015/3/31'), --返回 2016-02-29 00:00:00.000 DATEADD(month, -1, '2016/3/31')

4|月末最后一天的情况(计算从日数少的月到日数较多的月)

在以日数少的月末最后一天开始,计算N个月后(N个月前)的日期,且该日期所在月为日数多的月,返回日期不变。

例如,4月30日的一个月后为5月30日,4月30日的前一个月为3月30日。

实际执行结果: