user482745
user482745

Reputation: 1214

Convert integer to week interval

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

Answers (3)

sebbit
sebbit

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

S-Man
S-Man

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

demo: db<>fiddle

Upvotes: 0

user482745
user482745

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

Related Questions