2016-01-26 87 views
2

我試圖找到給定日期的特定月份的週數,所以我想知道這周是,對於給定月份獲取週數

例如,如果我進入

  • 2016 2月2日---> 1周
  • 2016 02月09 ---> 2周
  • 2016年6月2 --->周1
  • 2016年01月25 --->每週5

我可以在T-SQL查詢中做到這一點嗎?

我看到下面的選項

DATEPART(wk, BookingTimeStamp) 

但是,讓這一年的週數,而不是一個月

的想法是每週建立結果給定月份

回答

3

第一個使用「SQL Server和Weeks in Month」的結果返回this文章。它顯示了使用DATEPART和其他日期分析功能的兩種方法。這裏是一個解決方案:

DECLARE @MyDate DATETIME =GETDATE() 

DATEDIFF(WEEK, DATEADD(MONTH, DATEDIFF(MONTH, 0, @MyDate), 0), @MyDate) +1 
+0

什麼周是這個月的2016年1月25日,1? –

+0

@AtheerMostafa如果星期日開始到星期六結束,它應該返回5。 – ZLK

+0

@ZLK你是對的我誤解了,我糾正了我的投票。 –