Как преобразовать целое число в недельный интервал?
CREATE TABLE integers( i integer); INSERT INTO integers VALUES ('10');
Вывод будет таблица с одним столбцом, указывающим интервал 10 недель.
http://sqlfiddle.com/#!17/4b404/5/0
Ваше решение хорошо принято.
Если вы не хотите сохранять «1» в строке, вы можете написать это вместо
SELECT (i || 'week')::interval FROM intervals
демо: дб <> скрипка
Один вариант - создать постоянный интервал в 1 неделю и умножить его на целое число. Я бы предпочел, чтобы функция делала это напрямую, но я не знаю об этом.
SELECT interval '1 week' * i AS weeks_interval FROM integers;