获取 SQL Server 月份的周数

mak*_*kdu 3 sql-server

我试图找到给定日期的特定月份的周数,所以我想知道给定月份是哪一周

例如,如果我输入

  • 2016 年 2 月 2 日 ---> 第 1 周
  • 2016 年 2 月 9 日 ---> 第 2 周
  • 2016 年 6 月 2 日 ---> 第 1 周
  • 2016 年 1 月 25 日 ---> 第 5 周

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

我看到了以下选项

DATEPART(wk, BookingTimeStamp)
Run Code Online (Sandbox Code Playgroud)

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

这个想法是在给定的月份每周建立结果

Ros*_*ush 5

使用“SQL Server and Weeks in Month”的第一个结果返回了这篇文章。它展示了使用 DATEPART 和其他日期解析函数的两种方式。这是一种解决方案:

DECLARE @MyDate DATETIME =GETDATE()

SELECT DATEDIFF(WEEK, DATEADD(MONTH, DATEDIFF(MONTH, 0, @MyDate), 0), @MyDate) +1
Run Code Online (Sandbox Code Playgroud)