您的位置:首页 > 数据库

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

2013-05-31 16:39 246 查看
在网上看了很多人说如何获取当月天数,有的根据当前日期向后加一个月,然后用加一个月后的值减去当前的日期,结果获取的天数不一定对,比如今天是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'))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: