首頁  >  文章  >  資料庫  >  如何在 TSQL 中計算兩個日期之間的星期二數?

如何在 TSQL 中計算兩個日期之間的星期二數?

Barbara Streisand
Barbara Streisand原創
2024-10-28 20:45:30784瀏覽

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

計算TSQL 中兩個日期之間星期二的數量

確定兩個日期之間星期二的數量是TSQL 程式設計中的常見挑戰。 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 函數計算兩個日期之間的天數差異。
  • 表達式 -7 表示開始日期之前的星期日。
  • 表達式 -6 表示開始日期之前的星期一。
  • 按週除以 7 組。
  • 從開始日期開始減去天數到開始日期前的星期一計算開始日期和結束日期之間的周數。
  • 從結束日期到結束日期前一週的天數減去天數即可計算週數上週剩餘的天數。

透過應用此方法,您可以輕鬆確定給定日期範圍內星期二或一周中任何其他日期的數量。

以上是如何在 TSQL 中計算兩個日期之間的星期二數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn