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分鐘計算,週末不計,不考慮法定節假日。如果...