Cette page a été traduite de l'anglais avec l'aide de l'IA. En cas de divergence, la version anglaise fait référence.
JSON_ARRAY_LENGTH
Renvoie le nombre d'éléments d'un tableau JSON.
Voir aussi :
[SELECT] [DESCRIBE] [JSON_EXTRACT] [ Types de données ]
Syntaxe
SELECT JSON_ARRAY_LENGTH(json_array_or_object [, json_path]) FROM <multipartIdentifier>;
Arguments
json_array_or_object
Un tableau ou un objet JSON.
Si json_array_or_object est un objet JSON (et non un tableau) et que json_path n'est pas spécifié,
0est renvoyé.
json_path
Le chemin JSON facultatif vers un tableau contenu dans un objet. Consultez jsonpath.com.
Si json_path est fourni, la fonction
json_array_lengthlocalise le chemin dans json_array_or_object et renvoie la longueur du tableau, ou0si json_path désigne un objet (et non un tableau). Si json_path est introuvable dans json_array_or_object,NULLest renvoyé.
Si json_array_or_object ou json_path ne sont pas des objets JSON ou ne sont pas bien formés, une erreur est levée.
Valeur(s) renvoyée(s)
Renvoie un entier.
Exemples
Renvoyer le nombre de disques attachés aux instances Google Compute Engine
SELECT name, json_array_length(disks) as num_disks
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
Renvoyer le nombre d'interfaces réseau attachées aux instances Google Compute Engine
SELECT name, json_array_length(networkInterfaces) as num_nics
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
Renvoyer le nombre d'ACL associées aux buckets Google Storage
SELECT name, json_array_length(acl) as num_acls
FROM google.storage.buckets
WHERE project = 'stackql';
Renvoyer le nombre de scopes associés à un compte de service
SELECT name, json_array_length(serviceAccounts, '$[0].scopes') as num_scopes
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
Pour plus d'informations, consultez https://www.sqlite.org/json1.html#jarraylen