카테고리:

데이터 생성 함수

SEQ1 / SEQ2 / SEQ4 / SEQ8

줄 바꿈과 함께 단조 증가하는 정수 시퀀스를 반환합니다. 줄 바꿈은 정수 너비(1, 2, 4 또는 8바이트) 중 표현 가능한 가장 큰 정수 다음에 발생합니다.

중요

이 함수는 시퀀스를 사용하여, 고유한 증가하는 정수 세트를 생성하지만, 반드시 갭이 없는 시퀀스를 생성하지는 않습니다. 많은 양의 데이터에 대해 작업할 때 갭이 순서대로 나타날 수 있습니다. 완전히 정렬된, 갭 없는 시퀀스가 필요한 경우, ROW_NUMBER 윈도우 함수 사용을 고려하십시오.

Snowflake의 시퀀스에 대한 자세한 내용은 시퀀스 사용하기 를 참조하십시오.

구문

SEQ1( [0|1] ) SEQ2( [0|1] ) SEQ4( [0|1] ) SEQ8( [0|1] ) 
Copy

사용법 노트

  • 선택적 부호 인자가 0인 경우, 시퀀스는 줄 바꿈 후 0에서 계속됩니다. 선택적 부호 인자가 1인 경우, 시퀀스는 주어진 정수 너비를 기반으로 표현 가능한 가장 작은 숫자에서 계속됩니다.

  • 기본 부호 인자는 0입니다.

다음은 시퀀스 사용의 기본 예입니다.

SELECT seq8() FROM table(generator(rowCount => 5)); +--------+ | SEQ8() | |--------| | 0 | | 1 | | 2 | | 3 | | 4 | +--------+ 
Copy
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 | +---------+---------+ 
Copy

이 예는 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 | +-------------------------------------+ 
Copy