- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Array/Objekt)
OBJECT_KEYS¶
Gibt ein Array zurück, das die Liste der Schlüssel auf oberster Ebene des Eingabeobjekts enthält.
Syntax¶
OBJECT_KEYS( <object> )
Argumente¶
Rückgabewerte¶
Die Funktion gibt ein ARRAY zurück, das die Schlüssel enthält.
Wenn object
ein -strukturiertes OBJECT ist, gibt die Funktion ein ARRAY(VARCHAR) zurück.
Nutzungshinweise¶
Wenn das Objekt verschachtelte Objekte enthält (z. B. Objekte innerhalb von Objekten), werden nur die Schlüssel der obersten Ebene zurückgegeben.
Beispiele¶
Grundlegendes Beispiel:¶
Das nächste Beispiel zeigt OBJECT_KEYS, die sowohl ein OBJECT verwenden als auch ein VARIANT, der einen Wert vom Typ OBJECT enthält.
Erstellen Sie eine Tabelle, die Spalten vom Typ OBJECT und VARIANT enthält.
CREATE TABLE objects_1 (id INTEGER, object1 OBJECT, variant1 VARIANT);INSERT-Werte:
INSERT INTO objects_1 (id, object1, variant1) SELECT 1, OBJECT_CONSTRUCT('a', 1, 'b', 2, 'c', 3), TO_VARIANT(OBJECT_CONSTRUCT('a', 1, 'b', 2, 'c', 3)) ;Rufen Sie die Schlüssel sowohl für OBJECT als auch VARIANT ab:
SELECT OBJECT_KEYS(object1), OBJECT_KEYS(variant1) FROM objects_1 ORDER BY id; +----------------------+-----------------------+ | OBJECT_KEYS(OBJECT1) | OBJECT_KEYS(VARIANT1) | |----------------------+-----------------------| | [ | [ | | "a", | "a", | | "b", | "b", | | "c" | "c" | | ] | ] | +----------------------+-----------------------+
Beispiel für verschachtelte Objekte¶
In diesem Beispiel wird zeigt, dass bei einem Objekt, das verschachtelte Objekte enthält, nur die Schlüssel der obersten Ebene zurückgegeben werden.
SELECT OBJECT_KEYS ( PARSE_JSON ( '{ "level_1_A": { "level_2": "two" }, "level_1_B": "one" }' ) ) AS keys ORDER BY 1; +----------------+ | KEYS | |----------------| | [ | | "level_1_A", | | "level_1_B" | | ] | +----------------+