2016-01-26 45 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你是对的我误解了,我纠正了我的投票。 –