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 サイトの他の関連記事を参照してください。