Catégories :

Fonctions de données semi-structurées (tableau/objet)

OBJECT_PICK

Renvoie un nouvel OBJECT contenant certaines des paires clé-valeur d’un objet existant.

Pour identifier les paires clé-valeur à inclure dans le nouvel objet, validez les clés comme arguments ou validez un tableau contenant les clés.

Si une clé spécifiée n’est pas présente dans l’objet d’entrée, la clé est ignorée.

Syntaxe

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

OBJECT_PICK( <object>, <array> )
Copy

Arguments

object

L’objet d’entrée.

key1, key2

Une ou plusieurs clés identifiant les paires clé-valeur qui doivent être incluses dans l’objet renvoyé.

array

Tableau de clés identifiant les paires clé-valeur qui doivent être incluses dans l’objet renvoyé.

Renvoie

Renvoie un nouvel OBJECT contenant les paires clé-valeur spécifiées.

Exemples

L’exemple suivant appelle OBJECT_PICK pour créer un nouvel objet qui contient deux des trois paires clé-valeur à partir d’un objet existant :

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

Dans l’exemple ci-dessus, les clés sont validées comme arguments dans OBJECT_PICK. Vous pouvez également utiliser un tableau pour spécifier les clés, comme indiqué ci-dessous :

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