Fonction JSON_ARRAY_LENGTH - Amazon Redshift

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 renvoyer NULL quand la chaîne JSON en entrée n’est pas valide au lieu de renvoyer une erreur. Pour renvoyer NULL si la chaîne JSON n’est pas valide, spécifiez true (t). Pour renvoyer une erreur si la chaîne JSON n’est pas valide, spécifiez false (f). L’argument par défaut est false.

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 | +-------------------+