Рассчитать один год истечения срока действия от текущей даты в оракуле 11g - PullRequest
2 голосов
/ 08 декабря 2011

Как лучше всего рассчитать дату истечения одного года от текущей даты в Oracle? PS: нужно учитывать високосный год.

Ответы [ 3 ]

5 голосов
/ 08 декабря 2011
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;
4 голосов
/ 08 декабря 2011
SELECT current_date + INTERVAL '1' YEAR FROM dual;

Читайте о плюсах и минусах в этой теме .Добавление INTERVAL '1' YEAR может завершиться ошибкой 29 февраля.Спасибо @Justin за подсказку.
(Это не сработает в PostgreSQL, где вы получите 28 февраля вместо високосных)*.

4 голосов
/ 08 декабря 2011

Вы можете сделать что-то вроде этого запроса

 select add_months(to_date('08/12/2011','dd/mm/yyyy'),12) from dual;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...