- 카테고리:
반정형 및 정형 데이터 함수 (배열/오브젝트)
ARRAY_INSERT¶
원본 배열의 모든 요소뿐 아니라 새 요소도 포함한 배열을 반환합니다.
구문¶
ARRAY_INSERT( <array> , <pos> , <new_element> ) - 참고 항목:
인자¶
array소스 배열입니다.
pos소스 배열의 위치(0부터 시작)입니다. 새 요소가 이 위치에 삽입됩니다. 이 위치의 원래 요소(있는 경우) 및 모든 후속 요소(있는 경우)는 결과 배열에서 오른쪽으로 한 위치만큼 이동합니다(즉, 위치 0에 삽입하면 ARRAY_PREPEND 를 사용하는 것과 동일한 효과가 있음).
음수 위치는 배열 뒤에서 인덱스로 해석됩니다(예:
-1의 경우, 배열의 마지막 요소 앞에 삽입).new_element삽입할 요소입니다. 새 요소는
pos위치에 있습니다. 소스 배열에서 다른 요소의 상대적 순서는 유지됩니다.
반환¶
반환된 값의 데이터 타입은 ARRAY 입니다.
사용법 노트¶
정형 배열 을 함수에 전달하면 함수는 동일한 유형의 정형 배열을 반환합니다.
array가 정형 ARRAY 인 경우 새 요소의 유형은 ARRAY의 유형으로 강제 변환 가능 해야 합니다.pos의 절댓값이array의 요소 수를 초과하는 경우, 새 요소와 소스 배열의 요소 사이에 빈 요소가 추가로 삽입됩니다.요소를 배열에 추가하거나 배열 앞에 추가하려면 대신 ARRAY_APPEND 또는 ARRAY_PREPEND 를 사용해야 합니다.
예¶
이는 배열에 삽입하는 간단한 예를 보여줍니다.
SELECT ARRAY_INSERT(ARRAY_CONSTRUCT(0,1,2,3),2,'hello'); +--------------------------------------------------+ | ARRAY_INSERT(ARRAY_CONSTRUCT(0,1,2,3),2,'HELLO') | |--------------------------------------------------| | [ | | 0, | | 1, | | "hello", | | 2, | | 3 | | ] | +--------------------------------------------------+ 이는 배열의 기존 요소 수보다 큰 인덱스를 사용하는 삽입을 보여줍니다.
SELECT ARRAY_INSERT(ARRAY_CONSTRUCT(0,1,2,3),5,'hello'); +--------------------------------------------------+ | ARRAY_INSERT(ARRAY_CONSTRUCT(0,1,2,3),5,'HELLO') | |--------------------------------------------------| | [ | | 0, | | 1, | | 2, | | 3, | | undefined, | | "hello" | | ] | +--------------------------------------------------+ 이는 음수 인덱스를 사용하는 삽입을 보여줍니다.
SELECT ARRAY_INSERT(ARRAY_CONSTRUCT(0,1,2,3),-1,'hello'); +---------------------------------------------------+ | ARRAY_INSERT(ARRAY_CONSTRUCT(0,1,2,3),-1,'HELLO') | |---------------------------------------------------| | [ | | 0, | | 1, | | 2, | | "hello", | | 3 | | ] | +---------------------------------------------------+