- 카테고리:
SEQ1 / SEQ2 / SEQ4 / SEQ8¶
줄 바꿈과 함께 단조 증가하는 정수 시퀀스를 반환합니다. 줄 바꿈은 정수 너비(1, 2, 4 또는 8바이트) 중 표현 가능한 가장 큰 정수 다음에 발생합니다.
중요
이 함수는 시퀀스를 사용하여, 고유한 증가하는 정수 세트를 생성하지만, 반드시 갭이 없는 시퀀스를 생성하지는 않습니다. 많은 양의 데이터에 대해 작업할 때 갭이 순서대로 나타날 수 있습니다. 완전히 정렬된, 갭 없는 시퀀스가 필요한 경우, ROW_NUMBER 윈도우 함수 사용을 고려하십시오.
Snowflake의 시퀀스에 대한 자세한 내용은 시퀀스 사용하기 를 참조하십시오.
구문¶
SEQ1( [0|1] )
SEQ2( [0|1] )
SEQ4( [0|1] )
SEQ8( [0|1] )
사용법 노트¶
선택적 부호 인자가 0인 경우, 시퀀스는 줄 바꿈 후 0에서 계속됩니다. 선택적 부호 인자가 1인 경우, 시퀀스는 주어진 정수 너비를 기반으로 표현 가능한 가장 작은 숫자에서 계속됩니다.
기본 부호 인자는 0입니다.
예¶
다음은 시퀀스 사용의 기본 예입니다.
SELECT seq8() FROM table(generator(rowCount => 5)); +--------+ | SEQ8() | |--------| | 0 | | 1 | | 2 | | 3 | | 4 | +--------+SELECT * FROM (SELECT seq2(0), seq1(1) FROM table(generator(rowCount => 132))) ORDER BY seq2(0) LIMIT 7 OFFSET 125; +---------+---------+ | SEQ2(0) | SEQ1(1) | |---------+---------| | 125 | 125 | | 126 | 126 | | 127 | 127 | | 128 | -128 | | 129 | -127 | | 130 | -126 | | 131 | -125 | +---------+---------+
이 예는 ROW_NUMBER를 사용하여 갭 없는 시퀀스를 생성하는 방법을 보여줍니다.
SELECT ROW_NUMBER() OVER (ORDER BY seq4()) FROM TABLE(generator(rowcount => 10)); +-------------------------------------+ | ROW_NUMBER() OVER (ORDER BY SEQ4()) | |-------------------------------------| | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | | 10 | +-------------------------------------+