首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

给出年月获取这个月的周段时间段(从周一开始到周日)解决方法

2012-03-15 
给出年月获取这个月的周段时间段(从周一开始到周日)给出年月获取这个月的周段时间段(从周一开始到周日):比

给出年月获取这个月的周段时间段(从周一开始到周日)
给出年月获取这个月的周段时间段(从周一开始到周日):
比如给2012年1月,则得到
1月1日-1月1日
1月2日-1月8日
1月9日-1月15日
1月16日-1月22日
1月23日-1月29日
1月30日-1月31日

[解决办法]
楼主弄错了,2011-1-1是周六,如果你以周一为一周第一天的话,那第一周有两天:

SQL code
declare @ym varchar(7)set @ym='2011-01'set datefirst 1select wk,MIN(d)d1,MAX(d)d2 from (select DATEPART(wk,d)wk,d from (select dateadd(D,number,@ym+'-01')dfrom master..spt_valueswhere type='p' and convert(varchar(7),dateadd(D,number,@ym+'-01'),120)=@ym)t)t group by wk/*wk          d1                      d2----------- ----------------------- -----------------------1           2011-01-01 00:00:00.000 2011-01-02 00:00:00.0002           2011-01-03 00:00:00.000 2011-01-09 00:00:00.0003           2011-01-10 00:00:00.000 2011-01-16 00:00:00.0004           2011-01-17 00:00:00.000 2011-01-23 00:00:00.0005           2011-01-24 00:00:00.000 2011-01-30 00:00:00.0006           2011-01-31 00:00:00.000 2011-01-31 00:00:00.000(6 行受影响)*/ 

热点排行
Bad Request.