Esta página se tradujo del inglés con ayuda de IA. Si hay diferencias entre ambas, la versión en inglés es la referencia.
JSON_ARRAY_LENGTH
Devuelve el número de elementos de un array JSON.
Consulte también:
[SELECT] [DESCRIBE] [JSON_EXTRACT] [ Tipos de datos ]
Sintaxis
SELECT JSON_ARRAY_LENGTH(json_array_or_object [, json_path]) FROM <multipartIdentifier>;
Argumentos
json_array_or_object
Un array u objeto JSON.
Si json_array_or_object es un objeto JSON (no un array) y no se especifica json_path, se devuelve
0.
json_path
La ruta JSON opcional a un array contenido en un objeto. Consulte jsonpath.com.
Si se proporciona json_path, la función
json_array_lengthlocaliza la ruta dentro de json_array_or_object y devuelve la longitud del array, o0si json_path es un objeto (no un array). Si json_path no se puede localizar dentro de json_array_or_object, se devuelveNULL.
Si json_array_or_object o json_path no son objetos JSON o no están bien formados, se genera un error.
Valor(es) devuelto(s)
Devuelve un entero.
Ejemplos
Devolver el número de discos conectados a las instancias de 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';
Devolver el número de interfaces de red conectadas a las instancias de 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';
Devolver el número de ACL asociadas a los buckets de Google Storage
SELECT name, json_array_length(acl) as num_acls
FROM google.storage.buckets
WHERE project = 'stackql';
Devolver el número de scopes asociados a una cuenta de servicio
SELECT name, json_array_length(serviceAccounts, '$[0].scopes') as num_scopes
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
Para obtener más información, consulte https://www.sqlite.org/json1.html#jarraylen