Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fonction JSON_ARRAY_LENGTH
Note
JSON_PARSE et ses fonctions associées analysent les valeurs JSON en tant que SUPER, qu'Amazon Redshift analyse plus efficacement que VARCHAR.
Au lieu d'utiliser JSON_ARRAY_LENGTH, nous vous recommandons d'analyser vos chaînes JSON en utilisant le pour obtenir une valeur SUPER. Fonction JSON_PARSE Ensuite, utilisez le Fonction get_array_length pour obtenir la longueur de votre tableau.
La fonction JSON_ARRAY_LENGTH renvoie le nombre d’éléments du tableau externe d’une chaîne JSON. Si l’argument null_if_invalid a la valeur true
et que la chaîne JSON n’est pas valide, la fonction renvoie NULL
au lieu de renvoyer une erreur.
Pour de plus amples informations, veuillez consulter Fonctions JSON.
Syntaxe
JSON_ARRAY_LENGTH('json_array' [, null_if_invalid ] )
Arguments
- json_array
-
Tableau JSON au bon format.
- null_if_invalid
-
(Facultatif) Valeur
BOOLEAN
qui spécifie s’il faut renvoyerNULL
quand la chaîne JSON en entrée n’est pas valide au lieu de renvoyer une erreur. Pour renvoyerNULL
si la chaîne JSON n’est pas valide, spécifieztrue
(t
). Pour renvoyer une erreur si la chaîne JSON n’est pas valide, spécifiezfalse
(f
). L’argument par défaut estfalse
.
Type de retour
INTEGER
Exemples
Pour renvoyer le nombre d’éléments du tableau, utilisez l’exemple suivant.
SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14]');
+-------------------+ | json_array_length | +-------------------+ | 5 | +-------------------+
Pour renvoyer une erreur si la chaîne JSON n’est pas valide, utilisez l’exemple suivant.
SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14');
ERROR: invalid json array object [11,12,13,{"f1":21,"f2":[25,26]},14
Pour définir null_if_invalid sur true afin que l’instruction renvoie NULL
au lieu de renvoyer une erreur en cas de chaîne JSON non valide, utilisez l’exemple suivant.
SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14',true);
+-------------------+ | json_array_length | +-------------------+ | NULL | +-------------------+