Получить номер недели из дат в T-SQL
Получить номер недели из дат в T-SQL
Ответ 1
Посмотрите DATEPART
SELECT DATEPART(wk, GETDATE())
Ответ 2
Лучше всего использовать следующее:
выберите DATEPART (ISO_WEEK, getDate())
Как и когда у вас есть год с неделей 53, как в случае с 2015 годом, он дает ненадежные результаты. (Конечно, на 2008 R2)
выберите DATEPART (WK, '01/03/2016 ')
Дает переменные результаты около недели 53. При запуске через неделю после 3-го января оно произвело значение 1. При запуске на ту же дату оно дает значение 2.
Ответ 3
Или используйте DATEDIFF следующим образом: DATEDIFF(wk,GETDATE(),GETDATE()+7)
, чтобы найти количество недель между двумя днями
Ответ 4
Можно также рассчитать год ISO:
YEAR(DATEADD(DAY, (4 - DATEPART(WEEKDAY, End_Date)), End_Date))
который обрабатывает первый день года в неделю предыдущего календарного года.