ホームページ  >  記事  >  データベース  >  TSQL で 2 つの日付の間の火曜日の数を計算するにはどうすればよいですか?

TSQL で 2 つの日付の間の火曜日の数を計算するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-28 20:45:30784ブラウズ

How to Calculate the Number of Tuesdays Between Two Dates in TSQL?

TSQL での 2 つの日付間の火曜日の数の計算

2 つの日付間の火曜日の数を決定することは、TSQL プログラミングにおける一般的な課題です。 1 つの効率的なアプローチが t-clausen.dk で概説されています。

各平日のインスタンスを計算するには:

<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>

このクエリは、期間内の各曜日の出現数を返します。指定された日付範囲。計算は次の原則に基づいています。

  • datediff 関数は、2 つの日付の差を日数で計算します。
  • 式 -7 は、開始日の前の日曜日を表します。
  • 式 -6 は、開始日の前の月曜日を表します。
  • 7 で割ると、日数が週ごとにグループ化されます。
  • 開始日からの日数の減算
  • 終了日から終了日の前の曜日までの日数を引くと、開始日と終了日の間の週数が計算されます。先週の残り日数。

このメソッドを適用すると、特定の日付範囲内の火曜日またはその他の曜日の数を簡単に判断できます。

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

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