SQL计算两个日期之间的工作天数(除过周六日的天数)

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

计算两个日期之前的工作天数,可通过编写如下函数实现:

createFUNCTION [dbo].[f_workday](
 @dt_begin datetime,  --计算的开始日期
 @dt_end  datetime    --计算的结束日期
 )RETURNS int
 AS
 BEGIN
 DECLARE @i int, @j int,@s  datetime
 set @i = 0
 set @j = 0

set @s=@dt_begin
 while @s <= @dt_end

 begin

 if datename(weekday,@s) = '星期六'
  begin
   set @j= @j+1
  end 
 else if datename(weekday,@s) = '星期日'
  begin
   set @j= @j+1
  end 
 else
 begin
   set @i = @i+1


 end
set @s=@s+1
 end
 return @i
 END

 

 

例如计算'2013-07-27'与'2013-07-29'之间的工作天数,执行如下语句即可:
  select dbo.f_workday('2013-07-27','2013-07-29')

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:C++ Map快速入门

下一篇:一个纯C实现的图形化计算器