1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
declare @days int, @weeks int
-- the days_to_settle is business days, so convert this to actual
-- number of days.
select @days = days_to_settle
from security_info where cusip = =@cd_cusip
select @weeks = @days / 5 -- business days!
select @days = @days % 5
select @dt_value = dateadd(dd,
case when datepart(cdw, @dt_trade) > datepart(cdw, dateadd(dd, @days, @dt_trade))
then (@days + 2) -- the date is next week
when datepart(cdw, dateadd(dd, @days, @dt_trade)) > 5
then (@days + 2) -- teh date falls on the week-end
else @days
end,
dateadd(wk, @weeks, @dt_trade)) |
Partager