Reputation: 1214
How one can convert integer to week interval?
CREATE TABLE integers( i integer);
INSERT INTO integers VALUES ('10');
Output would be table with one column indicating 10 weeks interval.
http://sqlfiddle.com/#!17/4b404/5/0
Upvotes: 0
Views: 659
Reputation: 121
Use make_interval(weeks => i)
. E.g.:
SELECT make_interval(weeks => i) AS weeks_interval FROM integers;
or
SELECT make_interval(0, 0, i) AS weeks_interval FROM integers;
Upvotes: 1
Reputation: 23666
Your solution is well accepted.
If you don't want to keep the "1" in the string you could write this instead
SELECT (i || 'week')::interval FROM intervals
Upvotes: 0
Reputation: 1214
One take would be to create constant interval of 1 week and multiply it by integer. I would prefer function to do it directly, but I am not aware of it.
SELECT interval '1 week' * i AS weeks_interval FROM integers;
Upvotes: 1