欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

编写SQL Server函数统计两日期间的工作日天数

程序员文章站 2022-03-03 10:13:12
...

人资要求能自动统计两个日期间工作日天数,编写了一段函数代码如下:

create function [dbo].[CalcWorkDay](@beginday datetime, @endday datetime) 
returns int  AS begin
declare  @caldays  int     
declare  @id  int   
select @caldays=0     
	while DATEDIFF(d, @beginday, @endday) >= 0     
	begin                         
		if datepart(dw,@beginday) > 1 and datepart(dw,@beginday) < 7      
		begin
			select @[email protected]+1      
		end     
		select @beginday=dateadd(day,1,@beginday)       
	end   
	return @caldays 
end


调用方法:

select  dbo.CalcWorkDay(SYSDATETIME(),dateadd(day,3,SYSDATETIME()))

当前日期是11.29,得到结果:3