特定の日付の 3 日前の平日を返す単純なクエリを作成する必要があります。カレンダー テーブルを作成したくありません。この結果を得るために使用できる dateadd() と datepart() を使用するアルゴリズムはありますか?
1941 次
2 に答える
0
これは、非常に便利なテンプレートとして以前に使用したものです。
DECLARE @DateOld datetime, @DateNew datetimeSET @DateOld = '10-Sep-2005'SET @DateNew = GETDATE()
SET DATEFIRST 1
SELECT DATEDIFF (day, @DateOld, @DateNew) - (2 * DATEDIFF(week, @DateOld, @DateNew)) - CASE WHEN DATEPART(weekday, @DateOld + @@DATEFIRST) = 1 THEN 1 ELSE 0 END - CASE WHEN DATEPART(weekday, @DateNew + @@DATEFIRST) = 1 THEN 1 ELSE 0 END
ソース: http://sqlcode.blogspot.com/2007/07/calculate-number-of-business-days.html
于 2013-07-02T18:36:37.333 に答える