工作日查询(一段日期内的工作日天数查询)"/>
工作日查询(一段日期内的工作日天数查询)
/*
--马万前
--2010-1-15
--查询工作日内的工作天数
*/
Create Function dbo.f_WorkDay
(
@date_Begin datetime,
@date_end datetime
)
returns int
as
begin
declare @weeks int
declare @workday int
select @weeks = (datediff(day,@date_Begin,@date_End)+1)/7,
@workday= @weeks * 5,
@date_Begin = dateadd(day,@weeks * 7,@date_begin)
while @date_Begin<=@date_End
begin
select @workday= case
when (@@datefirst + datepart(weekday,@date_Begin)-1)%7 between 1 and 5
then @workday +1
else
@workday
end,
@date_Begin = @date_Begin + 1
end
return (@workday)
end
go
select dbo.f_workday('2010-1-10','2010-1-18')
转载于:.html
更多推荐
工作日查询(一段日期内的工作日天数查询)
发布评论