在sql server中实现查找一个月中有多少星期天

首先用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

你可能感兴趣的:(sql,sql,server)