簡體   English   中英

如何在 SQL 服務器中從一年中的特定日期從 1 開始獲取周數?

[英]How do I get the week number by starting as 1 from a specific date of the year in SQL Server?

嘗試了很多張貼在論壇上的示例,但無濟於事。 給出的周數是每個日歷年。 我如何 go 關於獲得這樣的周數:

開始日期:2021 年 3 月 1 日(根據輸入的開始日期,周數從 1 開始)

Subsequent Date     | Week Number
--------------------|------------
1 - 7 Mar 2021      | 1
8 - 14 Mar 2021     | 2
15 - 21 Mar 2021    | 3
21 - 28 Mar 2021    | 4
29 Mar - 2 Apr 2021 | 5
.
.
.
.

一周從星期一開始。 周數一直運行到財政年度結束,即 2 月底。它在每年 3 月重置為 1。

您可以減去日期並除以 7。天真地,這將是:

1 + datediff( day, datefromparts(year(datecol), 3, 1), datecol ) / 7

這不適用於一月和二月。 所以我們可以使用一個小技巧,從一年的日期中減去 2 個月:

1 + (datediff( day,
               datefromparts(year(dateadd(month, -2, datecol)), 3, 1),
               datecol
             ) / 7)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM