」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 TSQL 中計算兩個日期之間的星期二數?

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

發佈於2024-12-11
瀏覽:664

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

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

確定兩個日期之間星期二的數量是TSQL 編程中的常見挑戰。 t-clausen.dk 概述了一種有效的方法:

計算每個工作日的實例:

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

此查詢傳回指定日期範圍內一週的每一天出現的次數。計算基於以下原則:

  • datediff 函數計算兩個日期之間的天數差異。
  • 表達式 -7 表示開始日期之前的星期日。
  • 表達式-6代表開始日期之前的星期一。
  • 按週除以7組。
  • 減法從開始日期到開始日期之前的星期一的天數計算開始日期和結束日期之間的周數。
  • 減去從結束日期到當天的天數結束日期之前的一周計算上週剩餘的天數。

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

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3