2016-01-08 4 views
1

Мой сценарий: У меня есть SalesDate (например: 2007-01-01 по 2016-01-01), поданный таким образом, до todate и ежедневная дата. Теперь я должен найти это salesdate, принадлежащих к какой неделе.Как получить номера недели за весь год в SQL Server

Состояние

Start день недели Sunday. Основываясь на год, если начинается новый год отсчет недели начинаются как 1.

+0

может у Pl см эту ссылку, которая может помочь вам HTTP://stackoverflow.com/questions/13116222/how-to-get-week-number-of-the-month-from-the-date-in-sql-server-2008 – yuvi

ответ

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 

ИЛИ

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

Спасибо, что у меня есть и решить эту проблему. –

+0

добро пожаловать! :) – pedram

Смежные вопросы