메인 콘텐츠로 건너뛰기

groupArrayInsertAt

도입 버전: v1.1.0 배열의 지정된 위치에 값을 삽입합니다. 하나의 쿼리에서 여러 값이 동일한 위치에 삽입되면, 함수는 다음과 같이 동작합니다.
  • 쿼리가 단일 스레드에서 실행되면, 삽입된 값 중 첫 번째 값이 사용됩니다.
  • 쿼리가 여러 스레드에서 실행되면, 결과 값은 삽입된 값 중 어느 값이 될지 결정되지 않습니다.
구문
groupArrayInsertAt(default_x, size)([x, pos])
매개변수
  • default_x — 선택 사항입니다. 비어 있는 위치를 대체할 기본값입니다. Any
  • size — 선택 사항입니다. 결과 배열의 길이입니다. 이 매개변수를 사용하는 경우 기본값 default_x를 지정해야 합니다. UInt32
인수
  • x — 삽입할 값입니다. Any
  • pos — 지정된 요소 x를 삽입할 위치입니다. 배열의 인덱스는 0부터 시작합니다. UInt32
반환 값 값이 삽입된 배열을 반환합니다. Array 예시 매개변수 없이 사용하는 기본 사용법
Query
SELECT groupArrayInsertAt(toString(number), number * 2) FROM numbers(5);
Response
┌─groupArrayInsertAt(toString(number), multiply(number, 2))─┐
│ ['0','','1','','2','','3','','4']                         │
└───────────────────────────────────────────────────────────┘
기본값 매개변수 사용
Query
SELECT groupArrayInsertAt('-')(toString(number), number * 2) FROM numbers(5);
Response
┌─groupArrayInsertAt('-')(toString(number), multiply(number, 2))─┐
│ ['0','-','1','-','2','-','3','-','4']                          │
└────────────────────────────────────────────────────────────────┘
기본값 및 크기 매개변수 사용
Query
SELECT groupArrayInsertAt('-', 5)(toString(number), number * 2) FROM numbers(5);
Response
┌─groupArrayInsertAt('-', 5)(toString(number), multiply(number, 2))─┐
│ ['0','-','1','-','2']                                             │
└───────────────────────────────────────────────────────────────────┘
같은 위치에 멀티스레드로 삽입
Query
SELECT groupArrayInsertAt(number, 0) FROM numbers_mt(10) SETTINGS max_block_size = 1;
Response
┌─groupArrayInsertAt(number, 0)─┐
│ [7]                           │
└───────────────────────────────┘
마지막 수정일 2026년 6월 10일