このトピックでは、GENERATE_SERIES関数を使用して、2つの数値の間で連続した整数の数列を生成する方法について説明します。
構文
GENERATE_SERIES(BIGINT from, BIGINT to)入力パラメーター
パラメーター | 備考 |
from | 値の範囲の下限(包含)。データ型:BIGINT |
to | 値の範囲の上限(包含)。データ型:BIGINT |
例
テストデータ
s(BIGINT NOT NULL)
e(BIGINT NOT NULL)
1
3
-2
1
テストコード
CREATE TEMPORARY TABLE input_table( s BIGINT NOT NULL, e BIGINT NOT NULL ) WITH ( 'connector' = 'datagen' ); CREATE TEMPORARY TABLE output_table( s BIGINT NOT NULL, e BIGINT NOT NULL, v BIGINT NOT NULL ) WITH ( 'connector' = 'print' ); insert into output_table SELECT s, e, v FROM input_table, lateral table(GENERATE_SERIES(s, e)) as t(v);テスト結果
s(BIGINT)
e(BIGINT)
v(BIGINT)
1
3
1
1
3
2
1
3
3
-2
1
-2
-2
1
-1
-2
1
0
-2
1
1