SQL計算兩個日期之間的工作天數(除過周六日的天數)

ny8p 9年前發布 | 4K 次閱讀 SQL

計算兩個日期之前的工作天數,可通過編寫如下函數實現:

createFUNCTION [dbo].f_workdayRETURNS 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')</pre>

 本文由用戶 ny8p 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!