- カテゴリ:
半構造化データ関数と構造化データ関数 (配列/オブジェクト)
ARRAY_APPEND¶
ソース配列のすべての要素と新しい要素を含む配列を返します。新しい要素は配列の末尾に配置されます。
- こちらもご参照ください。
構文¶
ARRAY_APPEND( <array> , <new_element> )
引数¶
戻り値¶
戻り値のデータ型は 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" |
| ] | ] |
+--------------+--------------+