ホームページ  >  記事  >  データベース  >  TSQL で 2 つの日付間の特定の日の出現をカウントする方法は?

TSQL で 2 つの日付間の特定の日の出現をカウントする方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-31 06:13:30645ブラウズ

How to Count Occurrences of Specific Days Between Two Dates in TSQL?

TSQL での日付間の特定の日の出現数のカウント

TSQL で日付関連の計算を処理する場合、特定の曜日の頻度を決定すると、挑戦になる。このようなシナリオの 1 つは、指定された 2 つの日付の間の「火曜日」の数を計算することです。

解決策

火曜日を含む任意の日のインスタンスの数をカウントするには、次のようにします。提供されたコードを利用します:

<code class="tsql">declare @from datetime= '3/1/2013' 
declare @to datetime  = '3/31/2013' 


select 
 datediff(day, -7, @to)/7-datediff(day, -6, @from)/7 AS MON,
 datediff(day, -6, @to)/7-datediff(day, -5, @from)/7 AS TUE,
 datediff(day, -5, @to)/7-datediff(day, -4, @from)/7 AS WED,
 datediff(day, -4, @to)/7-datediff(day, -3, @from)/7 AS THU,
 datediff(day, -3, @to)/7-datediff(day, -2, @from)/7 AS FRI,
 datediff(day, -2, @to)/7-datediff(day, -1, @from)/7 AS SAT,
 datediff(day, -1, @to)/7-datediff(day, 0, @from)/7 AS SUN</code>

このコードでは、対応する曜日コードを調整することで「火曜日」を他の任意の曜日に置き換えることができます (例: 火曜日の場合は -6)。

このコードは、開始日と終了日を指定することにより、その期間内の毎日の発生回数を計算します。月曜日の開始日 (コード -7) を想定し、開始日と終了日の間の 7 の倍数の日数 (例: 月曜日からの日数の倍数) の差を計算します。これにより、指定された日付範囲内の毎日のインスタンスが効果的にカウントされます。

以上がTSQL で 2 つの日付間の特定の日の出現をカウントする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。