ホームページ > データベース > mysql チュートリアル > SQL Server で日付間の勤務日を計算するにはどうすればよいですか?

SQL Server で日付間の勤務日を計算するにはどうすればよいですか?

DDD
リリース: 2025-01-21 23:42:10
オリジナル
784 人が閲覧しました

How to Calculate Workdays Between Dates in SQL Server?

SQL Server を使用して 2 つの日付間の営業日数を計算します

指定された 2 つの日付の間の営業日数を決定することは、データ分析とレポート生成における一般的なタスクです。 SQL Server では、T-SQL を使用してこの計算を効率的に実行できます。

クエリ:

2 つの日付の間の営業日数 (月曜日から金曜日まで) を計算するには、次のクエリを実行します:

<code class="language-sql">DECLARE @StartDate DATETIME;
DECLARE @EndDate DATETIME;
SET @StartDate = '2008/10/01';
SET @EndDate = '2008/10/31';

SELECT
   (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);</code>
ログイン後にコピー

手順:

  • DATEDIFF(dd, @StartDate, @EndDate) 1 開始日と終了日を含む 2 つの日付間の合計日数を計算します。
  • DATEDIFF(wk, @StartDate, @EndDate) * 2 総日数から週末の日数(週2日)を引きます。
  • -(CASE WHEN DATENAME(dw, @StartDate) = 'Sunday' THEN 1 ELSE 0 END) 開始日を日曜日に調整します。
  • -(CASE WHEN DATENAME(dw, @EndDate) = 'Saturday' THEN 1 ELSE 0 END) 終了日を土曜日に調整します。

その他の考慮事項:

計算に休日を含めるには、別のテーブルを作成して休日の日付を定義し、クエリに追加します。これには、指定された期間内に含まれる休日の数を減算する追加のロジックが必要です。

以上がSQL Server で日付間の勤務日を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート