Определенное событие должно произойти до конца года, когда пройдет 10 лет с момента предыдущего события.Я выдаю запрос, подобный этому, чтобы вычислить крайний срок:
SELECT
:previous_date AS previous_date,
ADD_MONTHS(
TO_DATE(
EXTRACT(
YEAR FROM TO_DATE(:previous_date, 'YYYY-MM-DD HH24-MI-SS')
) || '-12-31 23-59-59', 'YYYY-MM-DD HH24-MI-SS'
), 12*10
) AS deadline
FROM DUAL
Например:
PREVIOUS_DATE DEADLINE
------------- -------------------------
2008-07-15 31/12/2018 23:59:59
Я до сих пор работает нормально, но ... Мне не хватает какой-то функции, которая может сделатьзапрос более читабелен?