Udělal bych z toho skalární UDF, protože je snazší spotřebovat výstup.
CREATE FUNCTION dbo.GetNextFriday(
@D DATETIME
)
RETURNS DATETIME
WITH SCHEMABINDING, RETURNS NULL ON NULL INPUT
AS
BEGIN
RETURN DATEADD(DAY,(13 - (@@DATEFIRST + DATEPART(WEEKDAY,@D)))%7,@D)
END