В SQL Server я использовал что-то вроде этого, чтобы добавить дополнительные столбцы в выборку:
select *,
case
when w1.start_date < w2.start_date then
to_date(w2.START_date, 'DD/MM/YYYY') - 1
else
to_date(w1.end_date, 'DD/MM/YYYY')
end as end_date_modified
from WEIGHTED_AVERAGE w1
Тем не менее следующее в Oracle приводит к тому, что ключевое слово ORA-00923 FROM не найдено там, где ожидается:
select *,
case
when w1.start_date < w2.start_date then
to_date(w2.START_date, 'DD/MM/YYYY') - 1
else
to_date(w1.end_date, 'DD/MM/YYYY')
end end_date_modified
from WEIGHTED_AVERAGE w1
Я искал все, но не могу понять, как этого добиться в Oracle.