110,535
社区成员
发帖
与我相关
我的任务
分享
USE [PrintedRecords]
GO
/****** Object: UserDefinedFunction [dbo].[Workdays] Script Date: 07/30/2018 16:47:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER function [dbo].[Workdays](@date1 date,@date2 date) returns int
as
begin
declare @d date
declare @i int
set @i=0
set @d=@date1
while @d<=@date2
begin
set @i=@i+(select case
when (datepart(weekday,@d) in(1,7) and @d not in(select [date] from holidays where [type]=0)) or @d in(select [date] from holidays where [type]=1)
then 0 else 1
end)
set @d=dateadd(dd,1,@d)
end
return(@i)
end