获取SQL Server的周数

时间:2016-01-26 23:00:32

标签: sql-server

我想找个给定日期的特定月份的周数,所以我想知道给定月份的那个星期

如果我输入

的示例
  • 2016 Feb 2 --->第1周
  • 2016年2月9日--->第2周
  • 2016年6月2日--->第1周
  • 2016年1月25日--->第5周

我可以在T-SQL查询中实现这一点吗?

我见过以下选项

DATEPART(wk, BookingTimeStamp)

但这给出了一年中的周数,而不是月份

想法是在给定月份内每周构建结果

1 个答案:

答案 0 :(得分:3)

第一个结果使用" SQL Server和Weeks in Month"返回this条。它显示了使用DATEPART和其他日期解析函数的两种方法。这是一个解决方案:

DECLARE @MyDate DATETIME =GETDATE()

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