全部產品
Search
文件中心

MaxCompute:SEQUENCE

更新時間:Jun 19, 2024

根據運算式產生包含指定元素的數組。

命令格式

	sequence(start, stop, [step]) 

參數說明

  • start:表示元素序列開始的運算式,元素序列包含start

    • startstop支援的整數類型包括:Tinyint 、SmallInt 、Int、BigInt;對應的step類型分別為:Tinyint 、SmallInt 、Int 、BigInt。

    • startstop支援的時間日期類型包括:Date、DateTime、Timestamp;對應的step類型為IntervalDayTime或IntervalYearMonth。

  • stop:表示元素序列結束的運算式,元素序列包含stop

  • step:選擇性參數。元素序列步長值。

    預設情況下, 當start小於等於stop時, step1,否則為-1

    如果元素序列為時間類型時,預設分別為1天-1天;如果提供step值,當start大於stop時,step必須為負數,反之必須為正數,否則拋出異常。

傳回值說明

返回由指定運算式產生元素組成的數組。

  • 如果start大於stopstep為正數時拋出異常,反之亦然。

  • sequence函數預設產生的元素數量上限為10000,可以通過設定odps.sql.max.sequence.lengthFlag值改變元素數量上限。

樣本

  • SELECT sequence(1, 5);

    返回結果如下:

    [1, 2, 3, 4, 5]
  • SELECT sequence(5, 1);

    返回結果如下:

    [5, 4, 3, 2, 1] 
  • SELECT sequence(to_date('2018-01-01'), to_date('2018-03-01'), interval 1 month);

    返回結果如下:

    [2018-01-01,  2018-02-01,  2018-03-01]	

相關函數

SEQUENCE函數屬於複雜類型函數,更多對複雜類型資料(例如ARRAY、MAP、STRUCT、JSON資料)的處理函數請參見複雜類型函數