Я пытаюсь создать DB2 UDF, которая принимает введенную дату и возвращает новую дату с добавлением нескольких месяцев. Синтаксис запроса для этого шага должен использовать
select date + 12 months from sysibm.sysdummy1;
Внутри UDF я не могу заставить это работать
monthsToAdd INTEGER;
SET monthsToAdd=4;
set result= inputDate + monthsToAdd + MONTHS;
return result;
Там написано
Состояние SQL: 42816
Код поставщика: -182
Сообщение: [SQL0182] Неверное выражение даты, времени или отметки времени. Причина , , , , : Произошло одно из следующего: - Операнд добавления - это дата, а другой - не длительность даты. - Операнд сложения - это время, а другой - не длительность. - Операнд сложения является меткой времени, а другой - не длительностью. - Операндом вычитания является дата, а другим - не дата, символ или длительность даты. - Операнд вычитания - это время, а другой - не время, символ или длительность. - Операнд вычитания является меткой времени, а другой не является меткой времени, символом или продолжительностью. Восстановление , , : Исправьте арифметическое выражение, чтобы оно содержало правильное выражение даты, времени или отметки времени. Попробуйте запрос еще раз.