SQL计算两个日期之间的工作天数(除过周六日的天数)
计算两个日期之前的工作天数,可通过编写如下函数实现:
createFUNCTION [dbo].[f_workday]( @dt_begin datetime, --计算的开始日期 @dt_end datetime --计算的结束日期 )RETURNS int AS BEGIN DECLARE @i int, @j int,@s datetime set @i = 0 set @j = 0 set @s=@dt_begin while @s <= @dt_end begin if datename(weekday,@s) = '星期六' begin set @j= @j+1 end else if datename(weekday,@s) = '星期日' begin set @j= @j+1 end else begin set @i = @i+1 end set @s=@s+1 end return @i END 例如计算'2013-07-27'与'2013-07-29'之间的工作天数,执行如下语句即可: select dbo.f_workday('2013-07-27','2013-07-29')