- Catégories :
Fonctions de données semi-structurées et structurées (Carte)
MAP_PICK¶
Renvoie une nouvelle MAP contenant les paires clé-valeur spécifiées d’une MAP existante.
Pour identifier les paires clé-valeur à inclure dans la nouvelle carte, transmettez les clés comme arguments ou transmettez un tableau contenant les clés.
Si une clé spécifiée n’est pas présente dans la carte d’entrée, la clé est ignorée.
Syntaxe¶
MAP_PICK( <map>, <key1> [, <key2>, ... ] )
MAP_PICK( <map>, <array> )
Arguments¶
map
La carte d’entrée.
key1,key2
Une ou plusieurs clés identifiant les paires clé-valeur à inclure dans la carte renvoyée.
array
Un tableau de clés identifiant les paires clé-valeur à inclure dans la carte renvoyée. Vous pouvez spécifier un ARRAY semi-structuré ou un ARRAY structuré.
Renvoie¶
Renvoie une nouvelle MAP contenant certaines des paires clé-valeur d’une MAP existante.
Exemples¶
Créer une nouvelle carte contenant deux des trois paires clé-valeur d’une carte existante :
SELECT MAP_PICK({'a':1,'b':2,'c':3}::MAP(VARCHAR,NUMBER),'a', 'b')
AS new_map;
+-----------+
| NEW_MAP |
|-----------|
| { |
| "a": 1, |
| "b": 2 |
| } |
+-----------+
Dans l’exemple précédent, les clés sont transmises comme arguments à MAP_PICK. Vous pouvez également utiliser un tableau pour spécifier les clés :
SELECT MAP_PICK({'a':1,'b':2,'c':3}::MAP(VARCHAR,NUMBER), ['a', 'b'])
AS new_map;
+-----------+
| NEW_MAP |
|-----------|
| { |
| "a": 1, |
| "b": 2 |
| } |
+-----------+