首先用dateadd()获得该月的第一天(from_date)和最后一天(to_date),再用datepart()递增比较from_date是否为星期天,并用@sun记录星期天的个数。
代码:
declare @yr int
declare @mth int
declare @from_date datetime
declare @to_date datetime
set @yr='2014' set @mth='11'
--set @from_date=@yr+'-'+@mth+'-1'
set @from_date=ltrim(@yr)+'-'+ltrim(@mth)+'-1'
set @to_date=dateadd(month,1,@from_date)-1
declare @sun int
set @sun=0
while @from_date<@to_date
begin
if(DATEPART(WEEKDAY,@from_date)=1) --判断当天是否是星期日
set @sun=@sun+1
set @from_date=@from_date+1
end
select @sun