Как лучше всего рассчитать дату истечения одного года от текущей даты в Oracle? PS: нужно учитывать високосный год.
select (sysdate + interval '1' year ) from dual
обновление (см. Комментарий Джастина Кейва)
select decode( to_char(sysdate, 'mmdd'), '0229', (sysdate-1) + interval '1' year, (sysdate + interval '1' year )) from dual;
SELECT current_date + INTERVAL '1' YEAR FROM dual;
Читайте о плюсах и минусах в этой теме .Добавление INTERVAL '1' YEAR может завершиться ошибкой 29 февраля.Спасибо @Justin за подсказку. (Это не сработает в PostgreSQL, где вы получите 28 февраля вместо високосных)*.
INTERVAL '1' YEAR
Вы можете сделать что-то вроде этого запроса
select add_months(to_date('08/12/2011','dd/mm/yyyy'),12) from dual;