首先可以使用datediff函數計算出兩個日期的間隔天數,然後對於兩個日期之間包含了多少個週日,我們可以通過while迴圈,使用datepart函數來統計出週日的天數,最後將datediff計算的天數減去日期間的週日天數,也就能得到最後的結果了.
sql函數如下所示:
create function GetDaysDateDiff(@beginDate smalldatetime ,@endDate smalldatetime)
returns int
as
begin
declare @totalday int,@countweek int,@countday int,@tempdate smalldatetime
set @countweek=0
set @tempdate=@begindate
while datediff(day,@tempdate,@enddate)>=0
begin
if datepart(weekday,@tempdate)=1
set @countweek=@countweek+1
set @tempdate=dateadd(day,1,@tempdate)
end
set @countday=datediff(day,@begindate,@enddate)-@countweek
return (@countday)
end