Wyrażenie SSIS, aby znaleźć poprzedni piątek

Korzystając z SQL Server 2008, zbudowałem zmienną SSIS z dynamiczną bazą wartości w bieżącej dacie. Chciałbym mieć jego wartość na piątek, jeśli bieżącym dniem jest poniedziałek, a oto wyrażenie zbudowane:

    DATEPART("dw",GETDATE()) != 2?
RIGHT("0" + (DT_WSTR,2)MONTH(DATEADD("dd", -1, GETDATE())), 2) + "/" 
    + RIGHT("0" + (DT_WSTR,2)DAY(DATEADD("dd", -1, GETDATE())), 2) + "/" + 
(DT_WSTR,4)YEAR(DATEADD("dd", -1, GETDATE())) : RIGHT("0" + (DT_WSTR,2)MONTH(DATEADD("dd", -1, GETDATE())), 2) + "/" 
    + RIGHT("0" + (DT_WSTR,2)DAY(DATEADD("dd", -3, GETDATE())), 2) + "/" + 
(DT_WSTR,4)YEAR(DATEADD("dd", -1, GETDATE()))

Problem: nie jest dokładny, gdy zmienił się miesiąc lub rok. Czy jest jakiś lepszy sposób na to? Pomoc zostanie doceniona. Dzięki.

questionAnswers(1)

yourAnswerToTheQuestion