Во время просмотра обучающего видео Брента Озара он рекомендовал создать таблицу дат (dbo.T_DATE), в которой будет храниться n чисел атрибутов, включая день недели, квартал, первый день месяца и т. Д. c. Наличие такой таблицы сделает эти типы действий несложными и избавит следующего разработчика от необходимости читать какой-нибудь неприятный код.
Это может выглядеть так:
CREATE TABLE DBO.T_DATE (. .., DATE DATETIME2, DAY_OF_WEEK VARCHAR (100), ...)
Оттуда, я полагаю, вы можете взять его до конца. Кроме того, таблица dbo.T_DATE может также служить таблицей чисел, которая пригодится, когда вы хотите предотвратить зацикливание ваших запросов ...