GENERATE_SERIES

Generates a single rowset of values from start to stop, with a step size of step. GENERATE_SERIES is a table-valued function.

Syntax

GENERATE_SERIES ( <start>, <stop> [, <step> ] )

Parameters

Parameter Description Supported input types
<start> The first value in the interval. BIGINT, INTEGER
<stop> The last value in the interval.
The series stops once the last generated step value exceeds the stop value.
BIGINT, INTEGER
<step> Optional literal integer value to set step. If not included, the default step is 1. BIGINT, INTEGER

Return Type

Setof INTEGER if all operands are of type INTEGER, otherwise setof BIGINT.

Example

SELECT n, DATE_ADD('DAY', n, '2023-02-02') result 
FROM GENERATE_SERIES(1, 10, 2) s(n)

Returns:

n result
1 2023-02-03 00:00:00
3 2023-02-05 00:00:00
5 2023-02-07 00:00:00
7 2023-02-09 00:00:00
9 2023-02-11 00:00:00