Zum Hauptinhalt springen
Übersetzte Seite

Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.

JSON_ARRAY_LENGTH

Gibt die Anzahl der Elemente in einem JSON-Array zurück.

Siehe auch:
[SELECT] [DESCRIBE] [JSON_EXTRACT] [ Datentypen ]


tipp

Verwenden Sie die Funktion DESCRIBE, um die Datentypen array oder object zu finden, die mit den JSON-Funktionen von StackQL verwendet werden können. Verwenden Sie die Funktion JSON_TYPE, um die Datentypen verschachtelter Objekte oder Array-Elemente zu ermitteln.

Syntax​

SELECT JSON_ARRAY_LENGTH(json_array_or_object [, json_path]) FROM <multipartIdentifier>;

Argumente​

json_array_or_object
Ein JSON-Array oder -Objekt.

Wenn json_array_or_object ein JSON-Objekt (kein Array) ist und json_path nicht angegeben ist, wird 0 zurückgegeben.

json_path
Der optionale JSON-Pfad zu einem Array, das in einem Objekt enthalten ist. Siehe jsonpath.com.

Wenn json_path angegeben ist, sucht die Funktion json_array_length den Pfad in json_array_or_object und gibt die Länge des Arrays zurück, oder 0, wenn json_path ein Objekt (kein Array) ist. Wenn json_path in json_array_or_object nicht gefunden werden kann, wird NULL zurückgegeben.

Wenn json_array_or_object oder json_path keine JSON-Objekte oder nicht wohlgeformt sind, wird ein Fehler ausgelöst.

Rückgabewert(e)​

Gibt eine Ganzzahl zurück.


Beispiele​

Die Anzahl der an Google Compute Engine-Instanzen angehängten Laufwerke zurückgeben​

SELECT name, json_array_length(disks) as num_disks
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';

Die Anzahl der an Google Compute Engine-Instanzen angehängten Netzwerkschnittstellen zurückgeben​

SELECT name, json_array_length(networkInterfaces) as num_nics
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';

Die Anzahl der Google Storage-Buckets zugeordneten ACLs zurückgeben​

SELECT name, json_array_length(acl) as num_acls
FROM google.storage.buckets
WHERE project = 'stackql';

Die Anzahl der einem Dienstkonto zugeordneten Scopes zurückgeben​

SELECT name, json_array_length(serviceAccounts, '$[0].scopes') as num_scopes
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';

Weitere Informationen finden Sie unter https://www.sqlite.org/json1.html#jarraylen