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> )

Arguments

objet

L’objet d’entrée.

clé1, clé2

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

tableau

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   |
| }          |
+------------+

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   |
| }          |
+------------+