式に基づいて指定された要素を含む配列を返します。
構文
sequence(start, stop, [step]) Parameters
start: 要素のシーケンスの始まりを表す式。 シーケンスにはstartが含まれます。
startとstopは、TINYINT、SMALLINT、INT、BIGINTの整数型をサポートしています。 上記の整数型は、stepでサポートされている型TINYINT、SMALLINT、INT、およびBIGINTに対応しています。
startとstopは、date、DATETIME、TIMESTAMPの日付と時刻のタイプをサポートしています。 上記の日付と時刻のタイプは、stepでサポートされているIntervalDayTimeまたはIntervalYearMonthタイプに対応しています。
stop: 要素のシーケンスの終わりを表す式。 シーケンスにはstopが含まれます。
step: オプション。 要素のシーケンスのステップサイズ。
デフォルトでは、startの値がstopの値以下の場合、stepの値は1です。 startの値がstopの値より大きい場合、stepの値は -1です。
要素のシーケンスが時間型の場合、stepのデフォルト値は1または日数で -1です。 stepを設定するときは、次の点に注意してください。startの値がstopの値より大きい場合は、stepを負の値に設定します。 startの値がstopの値以下の場合は、stepを正の値に設定します。 要件が満たされない場合、エラーが返されます。
戻り値
式に基づいて指定された要素を含む配列が返されます。
startの値がstopの値より大きく、stepの値が正の場合、エラーが返されます。 startの値がstopの値以下で、stepの値が負の場合、エラーが返されます。
デフォルトでは、SEQUENCE関数は最大10,000個の要素を生成できます。
odps.sql.max.sequence.lengthパラメーターを設定して、生成できる要素の最大数を変更できます。
例
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などの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.