SQL SERVER 函数如何定义和使用?
1 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
有一个返回值,下面例子
---select dbo.f_workday('2011-06-01','2011-06-30')
create function f_workday(
@date_begin datetime, ----计算开始日期
@date_end datetime )---计算结束日期
returns int
as
begin
declare @weeks int, @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+1
end,
@date_begin =@date_begin+1
end
return (@workday)
- 1 回答
- 0 关注
- 583 浏览
添加回答
举报
0/150
提交
取消