Код возвращает:Правильный номер недели от DATEPART
set datefirst 1
select datepart(wk,'2016-01-01') - 1
но
set datefirst 1
select datepart(wk,'2015-12-31')
returns..53:/
Но на самом деле - это та же самая неделя. На этой неделе существует больше дней, относящихся к 2015 году, поэтому для каждой даты на этой неделе должно быть «53» или «1» (одинаковое значение). Можно ли это избежать, не создавая специализированную процедуру для анализа даты и корректировки возвращаемого значения?
Я использую SQL Server 2005
На самом деле, это не та самая неделя, когда большинство людей указали номер недели. Я бы ожидал, что Неделя 53 2016 года придет примерно через 360 дней –