T-SQL获取当月天数正确解法

来源:互联网 发布:网络信息服务费合同 编辑:程序博客网 时间:2024/05/22 04:43

在网上看了很多人说如何获取当月天数,有的根据当前日期向后加一个月,然后用加一个月后的值减去当前的日期,结果获取的天数不一定对,比如今天是5月31日,那么加上一个月就是6月30日(6月份没有31日),这个时候用6月30日减去5月31日,就会得到30天),代码如下:

select day(dateadd(mm,1,getdate())-day(getdate())),如果当前日期不是31日(闰月),那么获取的结果是正确的,如果是31日,结果将是30天,显然不对。

以下代码可以正确实现我们想要的结果:

select Day(DATEADD(month, DATEDIFF(month, '20141231', getdate()), '20141231'))

原创粉丝点击