0
こんにちは私は2つの日付の間にWDを動作させる次の機能を持っています。私の質問は...私は同じ日付の2つの日付を持っています。 06/07/2016私はWDが0として表示されたいが、代わりに1として表示されている。2日間のSQL作業日
ALTER FUNCTION [dbo].[CalculateNumberOFWorkDays] (@StartDate datetime, @EndDate datetime)
RETURNS int
AS
BEGIN
SET @StartDate = DATEADD(dd, DATEDIFF(dd, 0, @StartDate), 0)
SET @EndDate = DATEADD(dd, DATEDIFF(dd, 0, @EndDate), 0)
DECLARE @WORKDAYS INT
SELECT @WORKDAYS = (DATEDIFF(dd, @StartDate, @EndDate) + 1)
-(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)
RETURN @WORKDAYS END
嬉しいことに、あなたはそれをすぐに理解しました。頭を上げるだけで、 '+ 0'は必要ありません。 – scsimon