+
+
Set Returning Functions
+
+
+
set returning functions
+ functions
+
+
+ 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 .
+
+
+
+
Series Generating Functions
+
+
+ |
+ Function
+ Argument Type
+ Return Type
+ Description
+
+
+
+
+ |
+
generate_series(start, stop)
+ 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.
+
+
+
+ |
+
generate_series(start, stop, step)
+ 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)
+
+
+