Kategorien:

Funktionen für semistrukturierte und strukturierte Daten (Zuordnung/Map)

MAP_PICK

Gibt ein neues MAP-Objekt zurück, das die angegebenen Schlüssel-Wert-Paare eines bestehenden MAP-Objekts enthält.

Um die Schlüssel-Wert-Paare zu identifizieren, die in das neue Zuordnungsobjekt aufgenommen werden sollen, übergeben Sie die Schlüssel als Argumente oder als ein Array mit Schlüsseln.

Wenn ein bestimmter Schlüssel im Eingabe-Zuordnungsobjekt nicht vorhanden ist, wird der Schlüssel ignoriert.

Syntax

MAP_PICK( <map>, <key1> [, <key2>, ... ] )

MAP_PICK( <map>, <array> )
Copy

Argumente

map

Das Eingabe-Zuordnungsobjekt.

key1,key2

Ein oder mehrere Schlüssel, die die Schlüssel-Wert-Paare identifizieren, die in das zurückgegebene Zuordnungsobjekt aufgenommen werden sollen.

array

Ein Array mit Schlüsseln, die die Schlüssel-Wert-Paare bezeichnen, die in das zurückgegebene Zuordnungsobjekt aufgenommen werden sollen. Sie können ein semistrukturiertes ARRAY oder ein strukturiertes ARRAY angeben.

Rückgabewerte

Gibt ein neues MAP-Objekt zurück, das einige der Schlüssel-Wert-Paare eines vorhandenen MAP-Objekts enthält.

Beispiele

Erstellen Sie ein neues Zuordnungsobjekt, das zwei der drei Schlüssel-Wert-Paare aus einem vorhandenen Zuordnungsobjekt enthält:

SELECT MAP_PICK({'a':1,'b':2,'c':3}::MAP(VARCHAR,NUMBER),'a', 'b')
  AS new_map;
Copy
+-----------+
| NEW_MAP   |
|-----------|
| {         |
|   "a": 1, |
|   "b": 2  |
| }         |
+-----------+

Im vorherigen Beispiel werden die Schlüssel als Argumente an MAP_PICK übergeben. Sie können auch ein Array verwenden, um die Schlüssel anzugeben:

SELECT MAP_PICK({'a':1,'b':2,'c':3}::MAP(VARCHAR,NUMBER), ['a', 'b'])
  AS new_map;
Copy
+-----------+
| NEW_MAP   |
|-----------|
| {         |
|   "a": 1, |
|   "b": 2  |
| }         |
+-----------+