I am trying to generate a set of int4range values, but instead of getting int4range, I'm getting type record. I can't seem to extract the range or cast to the range type.
I specifically want to keep the SELECT "app_table"."id" part of the sql, since I am trying to manipulate an ORM to map this to an application.
What I've tried:
SELECT "app_table"."id" FROM (
SELECT id FROM (
SELECT (lag(a) OVER()), a, '[)'
FROM generate_series(0, 10, 1)
AS a OFFSET 1) AS id
) AS app_table LIMIT 3;
What I get:
id (type of record)
------------------------
1 (0,1,"[)")
2 (1,2,"[)")
3 (2,3,"[)")
Another attempt:
SELECT "app_table"."id" FROM (
SELECT (lag(id) OVER()), id, '[)'
FROM generate_series(0, 10, 1)
AS id OFFSET 1
) AS app_table
What I get:
id (type of integer)
------------------------
1 1
2 2
3 3
What I'm trying to achieve:
id (type of int4range)
---------------------------
1 [0,1)
2 [1,2)
3 [2,3)
I'm sure this is something simple, and I've tried lots of variations, but I'm getting nowhere.