sequence function (Databricks SQL)

Generates an array of elements from start to stop (inclusive), incrementing by step.


sequence(start, stop [, step] )


  • start: An expression of an integral numeric type, DATE, or TIMESTAMP.

  • stop: If start is numeric an integral numeric, a DATE or TIMESTAMP otherwise.

  • step: An INTERVAL expression if start is a DATE or TIMESTAMP, or an integral numeric otherwise.


An ARRAY of least common type of start and stop.

By default step is 1 if start is less than or equal to stop, otherwise -1.

For the DATE or TIMESTAMP sequences default step is INTERVAL ‘1’ DAY and INTERVAL ‘-1’ DAY respectively.

If start is greater than stop then step must be negative, and vice versa.


> SELECT sequence(1, 5);

> SELECT sequence(5, 1);

> SELECT sequence(DATE'2018-01-01', DATE'2018-03-01', INTERVAL 1 MONTH);