# Generate Functions

#### <mark style="color:purple;">GENERATE\_DATE\_ARRAY(<</mark>start\_date/timestamp>, \<end\_date/timestamp> , INTERVAL \<step\_int> \<date\_part>)

Returns an array of date.&#x20;

Supported date\_part must be either DAY, MONTH, YEAR

The step\_int parameter determines the increment used to generate dates.

<pre class="language-sql"><code class="lang-sql"><strong>> SELECT GENERATE_DATE_ARRAY( '2023-03-04', '2023-04-26' , INTERVAL 1 DAY) AS date_array
</strong>[2023-03-04, 2023-03-05, 2023-03-06]
</code></pre>

#### <mark style="color:purple;">GENERATE\_TIMESTAMP\_ARRAY(<</mark>start\_timestamp>, \<end\_timestamp>, INTERVAL \<step\_int>  \<date\_part>)

Returns an array of timestamp.&#x20;

Supported date\_part must be either DAY, HOUR, MINUTE, SECOND

The step\_int parameter determines the increment used to generate timestamps.

<pre class="language-sql"><code class="lang-sql"><strong>> SELECT GENERATE_TIMESTAMP_ARRAY(to_timestamp('2016-10-05 00:00:00'), to_timestamp('2016-10-05 05:00:00'),
</strong>                                INTERVAL 1 hour) AS timestamp_array
[2016-10-05 00:00:00, 2016-10-05 01:00:00, 2016-10-05 02:00:00, 2016-10-05 03:00:00, 2016-10-05 04:00:00, 2016-10-05 05:00:00]
</code></pre>
