首先用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中的DATEADD()和DATEPART()函数获取指定月份的第一天和最后一天,以及如何通过判断日期是否为星期天来统计特定条件的数量。以2014年11月为例,演示了从第一天到倒数第二天的遍历过程,最终计算并展示了星期天的总数。
9011

被折叠的 条评论
为什么被折叠?



