-1
我正在制定一個代碼,以獲取除週末(週六和週日)以外的淨工作日。我需要這些數據。我已經寫了下面的2個功能爲它SQL - 查找兩個日期之間的工作時間(不包括週末)
第一個函數返回的日期
ALTER FUNCTION day_start
(@dd as datetime)
returns datetime
begin
return cast(floor(cast(@dd as float)) as datetime)
end
第二個做的實際工作
alter function networkingdays_hours (@startdate as datetime, @enddate as datetime)
returns float
begin
return
(
SELECT
cast(
(DATEDIFF(dd,@StartDate, @EndDate))
-(DATEDIFF(wk,@StartDate, @EndDate)*2)
-(CASE WHEN DATENAME(dw, @StartDate) ='Sunday'
THEN 1
ELSE 0
END)
-(CASE WHEN DATENAME(dw, @EndDate) ='Saturday'
THEN 1
ELSE 0
END)
+(@EndDate - dbo.day_start(@EndDate))
-(@startdate - dbo.day_start(@startdate))
as float))
END
例 開始時間的開始時間 - 8/31/2012 9:22:00 AM,End Time - 2012/9/1 7:14:00,預期結果 - 0.911111111,代碼輸出 - (-0.08888888)
請幫忙。
那麼,如果數據表明他們完成他們開始之前,你能指望什麼? – podiluska
對不起。我舉了一個不正確的例子。現在更新 – user2726212
看起來有點像這個問題:http://stackoverflow.com/q/7444846/192510 – NealB