Categorias:

Funções de dados semiestruturados (Matriz/objeto)

OBJECT_PICK

Retorna um novo OBJECT contendo alguns dos pares chave-valor de um objeto existente.

Para identificar os pares chave-valor a serem incluídos no novo objeto, passe nas chaves como argumentos, ou passe em uma matriz contendo as chaves.

Se uma chave especificada não estiver presente no objeto de entrada, a chave é ignorada.

Sintaxe

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

OBJECT_PICK( <object>, <array> )
Copy

Argumentos

object

O objeto de entrada.

key1, key2

Uma ou mais chaves identificando os pares chave-valor que devem ser incluídos no objeto devolvido.

array

Conjunto de chaves que identificam os pares chave-valor que devem ser incluídos no objeto devolvido.

Retornos

Retorna um novo OBJECT contendo os pares chave-valor especificados.

Exemplos

O exemplo seguinte chama OBJECT_PICK para criar um novo objeto que contenha dois dos três pares chave-valor de um objeto existente:

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

No exemplo acima, as chaves são passadas como argumentos para OBJECT_PICK. Você também pode usar uma matriz para especificar as chaves, como mostrado abaixo:

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