Как добавить месяцы из двух столбцов в Oracle Database - PullRequest
0 голосов
/ 04 февраля 2019

Мое требование - я хочу узнать, какие счета закрыты и срок их действия истекает через определенный период.У меня есть дата закрытия счета (CLOSE_DATE), которая определяется как TIMESTAMP, и у меня есть период хранения (RET_PERIOD) в месяцах

, теперь я хочу добавить месяцы CLOSE_DATE и RET_PERIOD.так как я могу извлечь количество месяцев из CLOSED_DATE и добавить его с помощью RET_PERIOD?

например, если учетная запись закрыта на '03-февраль-2018 ', я хочу добавить RET_PERIOD, который определен в месяцах (разные для разныхсчет) в месяцах CLOSED_DATE, затем необходимо сравнить эту сумму с текущей датой и отобразить ее, если она больше текущей даты.

если RET_PERIOD равен 3 месяцам для учетной записи 111, то сумма должна показать мне '03 -мая-2018«

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Вы можете использовать функцию add_months.Пример, если срок хранения составляет 12 месяцев:

ADD_MONTHS( CLOSED_DATE , 12) > CURRENT_DATE
0 голосов
/ 04 февраля 2019

Если я вас правильно понял, вы хотите добавить некоторое количество месяцев (например, 4 месяца), которое хранится в столбце RET_PERIOD, к некоторой дате (например, '03 -feb-2018 '), котораяхранится в столбце CLOSED_DATE.

Если это так, то ADD_MONTHS - это то, что вам нужно:

SQL> alter session set nls_date_format = 'dd.mm.yyyy';

Session altered.

SQL> with test (closed_date, ret_period) as
  2    (select date '2018-02-03', 4 from dual union all
  3     select date '2016-02-29', 1 from dual
  4    )
  5  select closed_date, ret_period,
  6    add_months(closed_date, ret_period) result
  7  from test;

CLOSED_DAT RET_PERIOD RESULT
---------- ---------- ----------
03.02.2018          4 03.06.2018
29.02.2016          1 31.03.2016

SQL>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...