获取某年某月的天数(非常简单)

来源:互联网 发布:思迪软件科技 编辑:程序博客网 时间:2024/06/05 04:13

今天看到一个极为简单的获取某年以某月的天数:

declare   @年月   varchar(6)
set   @年月= '201107'     --查询2011年7月有多少天
select   day(dateadd(month,1,@年月+ '01 ')-1)

 

原理为:先获取后一个月第一天的日期:select dateadd(month,1,@年月+ '01 ') ;这个返回的是: 2011-08-01 00:00:00.000

 

在这个日期的基础上减去一天 dateadd(month,1,@年月+ '01 ')-1   这个就可以返回要获取的那个月份的最后一天的日期了:2011-07-31 00:00:00.000

 

然后再获取这个日期的天数部分就OK啦!!  select   day(dateadd(month,1,@年月+ '01 ')-1)