获取SQL Server的周数

时间:2021-09-06 07:48:51

I am trying to find the week number of a particular month given a date, so I want to know which week is that for given month

我在寻找一个给定日期的特定月份的周数,所以我想知道给定月份的周数是多少

Example if I enter

如果我进入

  • 2016 Feb 2 ---> Week 1
  • 2016年2月2日——>周1
  • 2016 Feb 9 ---> Week 2
  • 2016年2月9日——>周2
  • 2016 June 2 ---> week 1
  • 2016年6月2日——>周1
  • 2016 Jan 25 ---> week 5
  • 2016年1月25日——>周5

Can I achieve this in a T-SQL query?

我可以在T-SQL查询中实现它吗?

I have seen the following option

我看到了以下选项

DATEPART(wk, BookingTimeStamp)

But that gives the week number of the year, not the month

但它给出的是一年的星期数,而不是月份

The idea is to build result per week for a given month

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

1 个解决方案

#1


3  

The first result using "SQL Server and Weeks in Month" returned this article. It shows two ways using DATEPART along with other date parsing functions. Here is one solution:

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

DECLARE @MyDate DATETIME =GETDATE()

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

#1


3  

The first result using "SQL Server and Weeks in Month" returned this article. It shows two ways using DATEPART along with other date parsing functions. Here is one solution:

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

DECLARE @MyDate DATETIME =GETDATE()

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