Я решил предыдущую проблему, спасибо. Тем не менее, у меня все еще есть проблема с ниже (часть предыдущего). Как я могу преобразовать результат в тип данных DATE, так как «0001-01-01» не поддерживается с DATETIME? Я пробовал DATETIME2, но не работает, и StartDate должен быть '0001-01-01'. Любая помощь высоко ценится.
DECLARE @CurrentDate DATE = '0001-01-01'
ВЫБРАТЬ
DATEADD (QQ, DATEDIFF (QQ, 0, @CurrentDate), 0) AS FirstDayOfQuarter,
DATEADD (QQ, DATEDIFF (QQ, -1, @CurrentDate), -1) AS LastDayOfQuarter,
КОНВЕРТ (VARCHAR (10), DATEADD (НЕДЕЛЯ, DATEDIFF (НЕДЕЛЯ, 0, DATEADD (ДЕНЬ), (6-
DATEPART (DAY, @CurrentDate)), @CurrentDate)), 0), 120) AS
FirstMondayOftheMonth
Сообщение об ошибке:
Преобразование типа данных даты в тип данных datetime привело к значению, выходящему за пределы допустимого диапазона.