Я пытаюсь создать 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] Недействительное выражение даты, времени или метки времени. Причина . . . . . : Произошло одно из следующего: - Операнд сложения - это дата, а другой - не продолжительность даты. - Операнд сложения - это время, а другой - не продолжительность. - Операнд сложения - это отметка времени, а другой - не продолжительность. - Операнд вычитания - это дата, а другой - не дата, символ или продолжительность даты. - Операнд вычитания - это время, а другой - не время, символ или длительность времени. - Операнд вычитания - это отметка времени, а другой - не отметка времени, символ или продолжительность. Восстановление . . . : Исправьте арифметическое выражение так, чтобы оно содержало допустимое выражение даты, времени или метки времени. Попробуйте запрос еще раз.