Добавление 1
к дате Oracle работает должным образом, то есть добавляет дату к одному дню:
SELECT TO_DATE('2019-01-29', 'yyyy-mm-dd' ) + 1 tomorrow FROM DUAL;
| TOMORROW |
| :-------- |
| 30-JAN-19 |
Однако, как объяснено в Типы данных датыдокументация :
Действительный диапазон дат с 1 января 4712 г. до н.э. до 31 декабря 9999 г. н.э.
В вашем случае использования вполне вероятно, что выпревышение верхнего предела, как показано в этом утверждении:
SELECT TO_DATE('9999-12-31', 'yyyy-mm-dd' ) + 1 out_of_range FROM DUAL;
ORA-01841: (full) year must be between -4713 and +9999, and not be 0
Добавление 1 дня к '9999-12-31'
приводит к выходу даты из допустимого диапазона, что приводит к ошибке ORA-01841
.
Это не похоже на нормальную ситуацию, когда вы обрабатываете такие далёкие будущие даты, и вам, вероятно, нужно выяснить, почему.
Тем временем вы сможете обойти проблему, переписав это:
FDTMDUEDATE + 1 >= Rundate
Кому:
FDTMDUEDATE >= Rundate - 1
(Если, конечно, Rundate
не равно 1 января 4712 г. до н.э. ...)