* Я знаю, что это старая ветка, но некоторое время назад нашел что-то чрезвычайно полезное, модифицировал и получил это.
select ((DATEADD(d,DATEDIFF(d,0,(DATEADD (d,2,@fromDate))),@numbOfDays)))*
Обновление: я извиняюсь за поспешность, чтобы найти кусок кода (в одном выражении) и чтобы избежать использования функции, я разместил здесь неправильный код.
Бит, упомянутый выше, можно использовать, если количество дней, которое вы добавляете, равно 7 или меньше.
Я изменил код с необходимыми параметрами для лучшего понимания.
Во всяком случае, я использовал то, что упомянуло «Нейт Кук» выше. И использовал его как одну строку кода. (Потому что я воздерживаюсь от использования функций)
код Нейта
select(
DATEADD(day, (@days % 5) +
CASE ((@@DATEFIRST + DATEPART(weekday, GETDATE()) + (@days % 5)) % 7)
WHEN 0 THEN 2
WHEN 1 THEN 1
ELSE 0 END, DATEADD(week, (@days / 5), GETDATE()))
)