- 카테고리:
반정형 및 정형 데이터 함수 (배열/오브젝트)
ARRAY_APPEND¶
원본 배열의 모든 요소뿐 아니라 새 요소도 포함한 배열을 반환합니다. 새 요소는 배열의 끝에 위치합니다.
- 참고 항목:
구문¶
ARRAY_APPEND( <array> , <new_element> )
인자¶
array
소스 배열입니다.
new_element
추가할 요소입니다. 요소 유형은 배열 유형에 따라 다릅니다.
array
가 반정형 데이터 배열 인 경우 요소는 거의 모든 데이터 타입이 될 수 있습니다. 데이터 타입은 배열에 있는 기존 요소의 데이터 타입과 다를 수 있습니다.
반환¶
반환된 값의 데이터 타입은 ARRAY입니다.
정형 배열 을 함수에 전달하면 함수는 동일한 유형의 정형 배열을 반환합니다.
소스 배열이 NULL 인 경우 함수는 NULL 을 반환합니다.
예¶
이 예제에서는 ARRAY 열이 있는 다음 테이블을 사용합니다.
CREATE OR REPLACE TABLE array_append_examples (array_column ARRAY);
INSERT INTO array_append_examples (array_column)
SELECT ARRAY_CONSTRUCT(1, 2, 3);
SELECT * FROM array_append_examples;
+--------------+
| ARRAY_COLUMN |
|--------------|
| [ |
| 1, |
| 2, |
| 3 |
| ] |
+--------------+
배열에 같은 유형의 요소를 추가합니다.
UPDATE array_append_examples
SET array_column = ARRAY_APPEND(array_column, 4);
테이블을 쿼리하여 배열에 추가된 새 요소를 확인합니다.
SELECT * FROM array_append_examples;
+--------------+
| ARRAY_COLUMN |
|--------------|
| [ |
| 1, |
| 2, |
| 3, |
| 4 |
| ] |
+--------------+
배열에 다른 유형의 요소를 추가합니다.
UPDATE array_append_examples
SET array_column = ARRAY_APPEND(array_column, 'five');
테이블을 쿼리하여 배열에 추가된 새 요소와 배열에 있는 각 요소의 데이터 타입을 확인합니다.
SELECT array_column,
ARRAY_CONSTRUCT(
TYPEOF(array_column[0]),
TYPEOF(array_column[1]),
TYPEOF(array_column[2]),
TYPEOF(array_column[3]),
TYPEOF(array_column[4])) AS type
FROM array_append_examples;
+--------------+--------------+
| ARRAY_COLUMN | TYPE |
|--------------+--------------|
| [ | [ |
| 1, | "INTEGER", |
| 2, | "INTEGER", |
| 3, | "INTEGER", |
| 4, | "INTEGER", |
| "five" | "VARCHAR" |
| ] | ] |
+--------------+--------------+