есть ли способ получить все номера недели на данный год?Sql Server, Получите все номера недель на определенный год?
Предположим, у меня есть год 2011 года и вы хотите, чтобы все недели в этом году были возможны?
Я использую SQL Server 2008.
есть ли способ получить все номера недели на данный год?Sql Server, Получите все номера недель на определенный год?
Предположим, у меня есть год 2011 года и вы хотите, чтобы все недели в этом году были возможны?
Я использую SQL Server 2008.
Запрос:
SELECT DATEPART(wk,DATEADD(wk,t2.number,'2011')) as Weeknumb
FROM master..spt_values t2
WHERE t2.type = 'P'
AND t2.number <= 255
AND YEAR(DATEADD(wk,t2.number,'2011'))=2011
Вы можете использовать SELECT DATEPART(WEEK,GETDATE())
, чтобы получить номер недели в году, в идеале я бы сказал, что вам нужна таблица календарь поиска для построения с.
Это работает, но почему на этой странице говорит 52 недели на 2013? http://www.epochconverter.com/date-and-time/weeknumbers-by-year.php – Uuid
@Uuid это все о том, как вы хотите отображать неделю, посмотрите на это http://sqlfiddle.com/#!3/d41d8/24867, иногда существуют правила, что если на прошлой неделе должно быть 3 или 4 дня, если на прошлой неделе не было 3 или 4 дня, это считается в следующем году в первую неделю. – Justin
@Uuid Я нашел этот номер http://www.epochconverter.com/epoch/weeknumbers.php 'Week в соответствии со стандартом ISO-8601, недели, начинающиеся в понедельник. Первая неделя года - неделя, которая содержит первый четверг этого года (= «Первая 4-дневная неделя»). Самый высокий номер недели в году - 52 или 53.' – Justin