Это не так просто. Я бы проверил текущий день недели и сделал условную логику c, чтобы вычислить, сколько дней из нее нужно вычесть:
sysdate
- case to_char(sysdate, 'fmdy')
case 'fri' then 5
case 'sat' then 6
case 'sun' then 7
case 'mon' then 7
case 'tue' then 7
case 'wed' then 7
case 'thu' then 6
end
Это можно немного разложить на множители:
sysdate
- case
when to_char(sysdate, 'fmdy') = 'fri' then 5
when to_char(sysdate, 'fmdy') in ('sat', 'thu') then 6
else 7
end