私は3つのテーブルを持っています。そのうちの1つは、会社の休日のインジケータを格納するマスターカレンダーです。私は、私のDateDiff計算から休日を除外したいと思います。以下はSql Server 2008 DateDiffから会社休暇を除外
警戒日12/23/16 完全な日付12/28/16 会社ホリデー12/26/16がDATEDIFF計算からエクスクルードする必要が
--My計算ショー...私が持っているものです3営業日、それは私が苦労してるところ休日をされて削除しようとすると12/26/16 = 2営業日
DATEDIFF(DD,A.ALERTS_CREATE_DT,S.CreatedDate)
-(DATEDIFF(WK,A.ALERTS_CREATE_DT,S.CreatedDate) * 2) --HOW MANY WEEKEND DAYS PASSED BY
-(CASE WHEN DATENAME(DW,A.ALERTS_CREATE_DT) = 'Sunday' THEN 1 ELSE 0 END)
-(CASE WHEN DATENAME(DW,S.CreatedDate) = 'Saturday' THEN 1 ELSE 0 END)
-(CASE WHEN CAL.GRH_HOLIDAY_IND = 'Y' THEN 1 ELSE 0 END)
-( SELECT COUNT(CAL.GRH_HOLIDAY_IND)
FROM A
FULL OUTER JOIN S ON A.ID= S.ID
INNER JOIN CAL ON A.ALERTCREATEDT_MMDDYYYY = CAL.CALENDAR_DATE
WHERE 1=1
AND Cal.GRH_HOLIDAY_IND = 'Y'
AND CAL.CALENDAR_DATE between CAST(A.CREATE_DT AS DATE) AND CAST(S.CreatedDate AS DATE)) AS BusinessDays
除外する必要があり、以下を参照してください。
-( SELECT COUNT(CAL.GRH_HOLIDAY_IND)
FROM A
FULL OUTER JOIN S ON A.ID= S.ID
INNER JOIN CAL ON A.ALERTCREATEDT_MMDDYYYY = CAL.CALENDAR_DATE
WHERE 1=1
AND Cal.GRH_HOLIDAY_IND = 'Y'
AND CAL.CALENDAR_DATE between CAST(A.CREATE_DT AS DATE) AND CAST(S.CreatedDate AS DATE
その他の情報は必要ですか? – John
祝日を除外する方法についてはわかりません。 – John