【SQL Server】月末的时间算法

2025-06-06 21:40:49

1、首先来说一下思路,我们在之前的经验中看到过月初的算法语句,那这次我们计算月末,是不是可以这样想,我们计算出下一个月的月初,然后减去1天,就变成当前月的月末了。那接下来,我们还是先定义好参数。

【SQL Server】月末的时间算法

3、计算出相差月数以后,那我们就可以在这个月数上+1,然后计算出下一个月的第一天。语法为:select dateAdd(month,1+datediff(month,'1900-01-01',@Date),'1900-01-01') as '下一个月的第一天'

【SQL Server】月末的时间算法

5、那另外一个方法就是,我们将时间单位换成month来试试看,语法为:select dateAdd(month,1+datediff(month,'1900-01-01',@Date),'1900-01-01')-1 as '本月最后一天'。其实原理很简单,我们利用month的时间单位计算出给定日期的下个月的第一天,然后减去1天就是给定日期当月的最后一天了。

【SQL Server】月末的时间算法

7、之前,我们也说过,1900-01-01可以用0代替,那这里的1899-12-31也可以用-1代替。其实结果还是一样的。

【SQL Server】月末的时间算法
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢