- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Array/Objekt)
OBJECT_PICK¶
Gibt ein neues OBJECT zurück, das einige der Schlüssel-Wert-Paare eines vorhandenen Objekts enthält.
Um die Schlüssel-Wert-Paare zu identifizieren, die in das neue Objekt aufgenommen werden sollen, übergeben Sie die Schlüssel als Argumente oder als ein Array mit Schlüsseln.
Wenn ein bestimmter Schlüssel im Eingabeobjekt nicht vorhanden ist, wird der Schlüssel ignoriert.
Syntax¶
OBJECT_PICK( <object>, <key1> [, <key2>, ... ] )
OBJECT_PICK( <object>, <array> )
Argumente¶
object
Das Eingabeobjekt.
key1
,key2
Ein oder mehrere Schlüssel, die die Schlüssel-Wert-Paare identifizieren, die im zurückgegebenen Objekt enthalten sein sollen.
array
Array von Schlüsseln, die die Schlüssel-Wert-Paare identifizieren, die im zurückgegebenen Objekt enthalten sein sollen.
Rückgabewerte¶
Gibt ein neues OBJECT zurück, das die angegebenen Schlüssel-Wert-Paare enthält.
Nutzungshinweise¶
Für die Argumente, die Schlüssel sind, müssen Sie Konstanten angeben.
Sie können kein ARRAY von Schlüsseln als zweites Argument übergeben. Sie müssen jeden Schlüssel als separates Argument angeben.
Die Funktion gibt ein strukturiertes OBJECT zurück. Der Typ von OBJECT enthält die Schlüssel in der Reihenfolge, in der sie angegeben sind.
Angenommen, Sie wählen die Schlüssel
state
undcity
in dieser Reihenfolge aus:SELECT OBJECT_PICK( {'city':'San Mateo','state':'CA','zip_code':94402}::OBJECT(city VARCHAR,state VARCHAR,zip_code DOUBLE), 'state', 'city') AS new_object, SYSTEM$TYPEOF(new_object);
Die Funktion gibt ein OBJECT vom Typ
OBJECT(state VARCHAR, city VARCHAR)
zurück.+-----------------------+--------------------------------------------------------------+ | NEW_OBJECT | SYSTEM$TYPEOF(NEW_OBJECT) | |-----------------------+--------------------------------------------------------------| | { | OBJECT(state VARCHAR(16777216), city VARCHAR(16777216))[LOB] | | "state": "CA", | | | "city": "San Mateo" | | | } | | +-----------------------+--------------------------------------------------------------+
Beispiele¶
Im folgenden Beispiel wird OBJECT_PICK aufgerufen, um ein neues Objekt zu erstellen, das zwei der drei Schlüssel-Wert-Paare aus einem vorhandenen Objekt enthält:
SELECT OBJECT_PICK( OBJECT_CONSTRUCT( 'a', 1, 'b', 2, 'c', 3 ), 'a', 'b' ) AS new_object; +------------+ | NEW_OBJECT | |------------| | { | | "a": 1, | | "b": 2 | | } | +------------+
Im obigen Beispiel werden die Schlüssel als Argumente an OBJECT_PICK übergeben. Sie können auch ein Array verwenden, um die Schlüssel anzugeben, wie unten gezeigt:
SELECT OBJECT_PICK( OBJECT_CONSTRUCT( 'a', 1, 'b', 2, 'c', 3 ), ARRAY_CONSTRUCT('a', 'b') ) AS new_object; +------------+ | NEW_OBJECT | |------------| | { | | "a": 1, | | "b": 2 | | } | +------------+