我的情景:我SalesDate
(例如:2007-01-01至2016-01-01)这样归档到todate
并且每天都有日期。现在我必须找到属于哪一周的salesdate
。
条件
每周的开始日期为Sunday
。根据年份,如果新年开始,周数开始为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