У меня есть пакет ssis, который работает в рабочие дни (пн-пт). если я получаю файл во вторник, фон (БД), он принимает дату предыдущего рабочего дня и выполняет некоторые транзакции. Если я запускаю задание в пятницу, он должен получить дату понедельника и обработать транзакции.
Я использовал приведенный ниже запрос для получения предыдущей бизнес-даты.
Select Convert(varchar(50), Position_ID) as Position_ID,
TransAmount_Base,
Insert_Date as InsertDate
from tblsample
Where AsOfdate = Dateadd(dd, -1, Convert(datetime, Convert(varchar(10), '03/28/2012', 101), 120))
Order By Position_ID
Если я выполню этот запрос, я получу результаты вчерашних Transactios. если бы я запустил тот же запрос в понедельник, он должен получить транзакции по пятницам вместо воскресений.