SQL 統計工作日 不含週六日

2021-05-26 07:23:04 字數 755 閱讀 1950

create function dbo.fc_workday(@starttime datetime,@endtime datetime)  

returns int 

as 

begin  

declare @workdays int 

declare @weeks int 

--工作的完整週數  

select @weeks=(datediff(day,@starttime,@endtime)+1)/7,  

--@weeks週內工作的天數  

@workdays=@weeks*5,  

--最後乙個不完整周的開始天數  

@starttime=dateadd(day,@weeks*7,@starttime)  

while @starttime<=@endtime

begin  

select @workdays  

=case when (@@datefirst+datepart(weekday,@starttime)-1)%7 between 1 and 5 then @workdays+1 else @workdays  

end,@starttime=@starttime+1  

end  

return(@workdays)   

end 

select dbo.fc_workday('2011-5-1','2011-5-7') '工作天數'

使用poi統計工作職責

1 建立乙個新的sheet工作頁 sheet job workbook.createsheet 工作職責統計 2 查詢工作職責問題選項列表,並設定第一行倒出時間 listlistconfigs syslistconfigdao.listconfig 29 工作職責問題選項列表 job.creater...

sql計算工作日函式

這個演算法還不夠嚴謹,沒有考慮到周 六 日調換假期等細節的情況。1 建節假日表 create table holiday id int identity 1,1 not null name nvarchar 50 collate chinese prc ci as not null begindat...

SQL實現工作日計算

create function time span of minutes start day datetime,end day datetime returns float begin 返回按分鐘計算兩段時間的間隔,採用逐日靠近的方法求解,一天按8小時480分鐘計算,週末不計,不考慮法定節假日。如果...