Вы можете выполнить запрос ниже.
Моя логика для этого:
1-Получить последний день предыдущего месяца
2-Получить день неделиот даты элемента 1
3-Некоторая логика с "регистром" для получения желаемой даты
select case
when WLD = 7 then LD-1 -- if Saturday, get previous day
when WLD = 6 then LD -- if Friday, then ok
when WLD = 5 then LD-6 -- if Thursday, get 6 days ago
when WLD = 4 then LD-5 -- if Wednesday, get 5 days ago
when WLD = 3 then LD-4 -- if Tuesday, get 4 days ago
when WLD = 2 then LD-3 -- if Monday, get 3 days ago
when WLD = 1 then LD-2 -- if Sunday, get 2 days ago
end as LAST_FRIDAY_LAST_MONTH -- HERE IS THE LAST FRIDAY OF MONTH
from (
select last_day(add_months(trunc(sysdate),-1)) as LD -- last day of previous month
, to_char(last_day(add_months(trunc(sysdate),-1)),'D') as WLD -- week day of last day of previous month
from dual
)