カテゴリ:

半構造化データ関数 (配列/オブジェクト)

OBJECT_PICK

既存のオブジェクトからのキーと値のペアのいくつかを含む新しい OBJECT を返します。

新しいオブジェクトに含めるキーと値のペアを識別するには、キーを引数として渡すか、キーを含む配列を渡します。

指定されたキーが入力オブジェクトに存在しない場合、キーは無視されます。

構文

OBJECT_PICK( <object>, <key1> [, <key2>, ... ] )

OBJECT_PICK( <object>, <array> )

引数

オブジェクト

入力オブジェクト。

キー1キー2

返されるオブジェクトに含める必要があるキーと値のペアを識別する1つ以上のキー。

配列

返されるオブジェクトに含める必要があるキーと値のペアを識別するキーの配列。

戻り値

指定されたキーと値のペアを含む新しい OBJECT を返します。

次の例では、 OBJECT_PICK を呼び出して、既存のオブジェクトから、3つのキーと値のペアのうち2つを含む新しいオブジェクトを作成します。

SELECT OBJECT_PICK(
    OBJECT_CONSTRUCT(
        'a', 1,
        'b', 2,
        'c', 3
    ),
    'a', 'b'
) AS new_object;
+------------+
| NEW_OBJECT |
|------------|
| {          |
|   "a": 1,  |
|   "b": 2   |
| }          |
+------------+

上記の例では、キーは引数として OBJECT_PICK に渡されます。以下に示すように、配列を使用してキーを指定することもできます。

SELECT OBJECT_PICK(
    OBJECT_CONSTRUCT(
        'a', 1,
        'b', 2,
        'c', 3
    ),
    ARRAY_CONSTRUCT('a', 'b')
) AS new_object;
+------------+
| NEW_OBJECT |
|------------|
| {          |
|   "a": 1,  |
|   "b": 2   |
| }          |
+------------+