Postgres легко конвертирует интервалы в строки. Я бы рекомендовал удалить ключевое слово interval
и просто использовать ::interval
:
select date_trunc('year', now()) + notice_period::interval
from (values ('1 day'), ( '3 month 1 day')) v(notice_period)
Если вы настаиваете на interval
в строке, удалите его:
+ replace(notice_period, 'interval ', '')::interval
или:
+ substr(notice_period, 10)::interval