如何在SQL Server中获取全年的周数

时间:2016-01-08 03:58:43

标签: sql sql-server sql-server-2008

我的情景:我SalesDate(例如:2007-01-01至2016-01-01)这样归档到todate并且每天都有日期。现在我必须找到属于哪一周的salesdate

条件

每周的开始日期为Sunday。根据年份,如果新年开始,周数开始为1。

1 个答案:

答案 0 :(得分:2)

尝试以下内容,

DECLARE @SalesDate DATETIME = '2007-01-01'
SELECT DATEDIFF(WEEK, DATEADD(WEEK, DATEDIFF(WEEK, 0, DATEADD(MONTH, DATEDIFF(MONTH, 0, @SalesDate), 0)), 0), @SalesDate - 1) + 1 WeekD, @SalesDate SalesDate

OR

DECLARE @SalesDate DATETIME = '2007-01-01'
SELECT DATEPART(WEEK,@SalesDate) WeekNumber, @SalesDate SalesDate