This section describes functions that possibly return more than one row. Currently the only functions in this class are series generating functions, as detailed in Table 9.39, “Series Generating Functions”.
Table 9.39. Series Generating Functions
Function | Argument Type | Return Type | Description |
---|---|---|---|
|
int or bigint
|
setof int or setof bigint (same as argument type) |
Generate a series of values, from start to stop
with a step size of one
|
|
int or bigint
|
setof int or setof bigint (same as argument type) |
Generate a series of values, from start to stop
with a step size of step
|
When step
is positive, zero rows are returned if
start
is greater than stop
.
Conversely, when step
is negative, zero rows are
returned if start
is less than stop
.
Zero rows are also returned for NULL
inputs. It is an error
for step
to be zero. Some examples follow:
select * from generate_series(2,4); generate_series ----------------- 2 3 4 (3 rows) select * from generate_series(5,1,-2); generate_series ----------------- 5 3 1 (3 rows) select * from generate_series(4,3); generate_series ----------------- (0 rows) select current_date + s.a as dates from generate_series(0,14,7) as s(a); dates ------------ 2004-02-05 2004-02-12 2004-02-19 (3 rows)