| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
ny8p
9年前发布

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

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

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')